什麼是memcache?
Memcache是一個高性能的分布式的內存對象緩存系統,通過在內存裡維護一個統一的巨大的hash表,它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。簡單的說就是將數據調用到內存中,然後從內存中讀取,從而大大提高讀取速度(摘自360百科)
它相當於一個內存數據庫 可以減少對數據庫的操作.
最初看見是在公司的一個PHP接口服務器中。
安裝:
在ubuntu中的安裝方式: 挖坑(下次填寫 操作步驟忘記了)
apt-get install memcached
安裝好後
sudo memcached start 啟動
/etc/memcached.conf 是默認的配置文件
-p 監聽的端口
-l 連接的IP地址, 默認是本機
-d start 啟動memcached服務
-d restart 重起memcached服務
-d stop|shutdown 關閉正在運行的memcached服務
-d install 安裝memcached服務
-d uninstall 卸載memcached服務
-u 以的身份運行 (僅在以root運行的時候有效)
-m 最大內存使用,單位MB。默認64MB
-M 內存耗盡時返回錯誤,而不是刪除項
-c 最大同時連接數,默認是1024
-f 塊大小增長因子,默認是1.25-n 最小分配空間,key+value+flags默認是48
-h 顯示幫助2)安裝Memcache客戶端
php memcache模塊安裝方法:
sudo apt-get install php5-memcache
使用方法: php手冊用有該模塊的使用說明
<?php /* OO API */ $memcache_obj = new Memcache; /* connect to memcached server */ $memcache_obj->connect('memcache_host', 11211); /* 設置'var_key'對應值,使用即時壓縮 失效時間為50秒 */ $memcache_obj->set('var_key', 'some really big variable', MEMCACHE_COMPRESSED, 50); echo $memcache_obj->get('var_key'); ?>
python : 模塊下載地址 https://pypi.python.org/pypi/python-memcached
import memcache mc = memcache.Client(['127.0.0.1:11211']) mc.set('hello','world') mc.get('hello')
一些說明:
memcached 沒有安全認證 所以如果把配置的-l 監聽IP該為本地以外的IP 可能導致數據安全性問題
以後用熟悉了再填坑
CI 是 memcacehd 你安裝的是 memcache 差了一個"d"字符,差別就很大了。CI 只支持 memcached,不支持 memcache。Windows 下只有 memcache。
memcache服務器,要特殊配置,內存要大,其他硬件能用即可
其他解決方案:可以配置分布式緩存
因為memcache一般是只供局域網使用的
工作原理是:web服務器使用memcache緩存,然後把數據緩存在memcache服務器上,memecache只用到內存
數據量過大只能增加服務器,部署分布式緩存
其他可以再聯系