MEMCACHE做为PHP的SESSION HANDLER
程序员文章站
2022-05-25 18:06:50
...
在为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