在為php安裝了memcache模塊後查看該模塊的說明文件,發現他還可以直接作為php的session handler使用,而無需做做額外的編碼處理。
設置方法很簡單,只要修改php.ini中的以下鍵的值:
session.save_handler = memcache
session.save_path = 'tcp://192.168.0.1:11211'
#有多個時直接用","分隔即可
要測試一下是否真的用上了memcache,可以先獲取使用的PHPSESSID,然後將其作為KEY用memcach去讀一下,就知道了。
使用memcache做php的session handler好處
使用內存存放session信息,不經過磁盤,數據庫等,速度快
可以多台機器共用一個/組memcached服務器,達到多台機器共享session信息,方便多機集群的session問題處理。
…
使用memcache做為php的session handler壞處
首先memcached的服務必須正常工作,否則php的session相關功能將不起作用,這樣php的處理就多了一層外面的依賴。
由於memcached是使用內存的,這樣當用戶量比較大時,就可能由於內存方面原因導致session時長上的問題,session的實際失效時長達不到設定的失效時長(由於memcached在內存不夠下的處理機制決定)
由於memcached的內存管理機制,當session存儲的數據超過1MB的時候有數據丟失問題(不過一般不會有人在session中存放這麼多的信息吧)。
…
根據以上的一些情況決定自己在實際環境中是否使用memcache做為php的session handler