• linux下安裝Memcache
1. 下載 memcache的linux版本,注意 memcached 用 libevent 來做事件驅動,所以要先安裝有 libevent。
2. 安裝 pecl::memcache。
用 pecl 命令行工具安裝:
pecl install memcache
或直接從源碼安裝:
phpize
./configure
make
make install
  • Windows下安裝Memcache
下載memcache的windows穩定版,解壓放某個盤下面,比如在c:\memcached
在終端(也即cmd命令界面)下輸入 ‘c:\memcached\memcached.exe -d install’ 安裝
再輸入: ‘c:\memcached\memcached.exe -d start’ 啟動。NOTE: 以后memcached將作為windows的一個服務每次開機時自動啟動。這樣服務器端已經安裝完畢了。
下載php_memcache.dll,請自己查找對應的php版本的文件
在C:\winnt\php.ini 加入一行 ‘extension=php_memcache.dll’
重新啟動Apache,然后查看一下phpinfo,如果有memcache,那么就說明安裝成功!
  • memcached的基本設置
-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 顯示幫助
  • php.ini中的配置
[Memcache]
 一個高性能的分布式的內存對象緩存系統,通過在內存里維護一個統一的巨大的hash表,
它能夠用來存儲各種格式的數據,包括圖像、視頻、文件以及數據庫檢索的結果等。
是否在遇到錯誤時透明地向其他服務器進行故障轉移。
memcache.allow_failover = On
只在打開memcache.allow_failover時有效。
memcache.max_failover_attempts = 20
數據將按照此值設定的塊大小進行轉移。此值越小所需的額外網絡傳輸越多。
如果發現無法解釋的速度降低,可以嘗試將此值增加到32768。
memcache.chunk_size = 8192
;連接到memcached服務器時使用的默認TCP端口。
memcache.default_port = 11211
控制將key映射到server的策略。默認值"standard"表示使用先前版本的老hash策略。
設為"c*****istent"可以允許在連接池中添加/刪除服務器時不必重新計算key與server之間的映射關系。
memcache.hash_strategy = "standard"; 控制將key映射到server的散列函數。默認值"crc32"使用CRC32算法,而"fnv"則表示使用FNV-1a算法。
FNV-1a比CRC32速度稍低,但是散列效果更好。
memcache.hash_function = "crc32"
memcache也可以作為session的存儲模塊,具體參看:memcache PHP 的 session.save_handler.
  • DedeCMS后臺設置
進入系統后臺,在[系統基本參數]下面的"性能選項"卡當中,關于memcache進行如下配置:
cfg_memcache_enable : 是否啟用memcache緩存,如果為否(N),默認使用文件緩存;
這個選項設置為開啟:Y
cfg_memcache_mc_defa : 默認memcache緩存服務器地址;
這個選項中填入服務器地址:memcache://127.0.0.1:11211/default127
cfg_memcache_mc_oth : 附加memcache緩存服務器地址;
這個如果沒有可以為空.
  • 設定緩存時間
cfg_puccache_time : 需緩存內容全局緩存時間(秒),這個里面需要設定緩存周期,默認為36000秒