|
  
- UID
- 1
- 帖子
- 262
- 精华
- 1
- 积分
- 62827
- 威望
- 212
- 金钱
- 125230
- 阅读权限
- 200
- 注册时间
- 2010-6-19
|
使用memcached集群存储php session
1. 首先安装memcached(略)和php的memcache扩展- 由于3.0.6还是beta版,所以通过pecl安装的时候需要指定版本号
- # /usr/local/php/bin/pecl install memcache-3.0.6
复制代码 2. 修改php.ini中session存储方式
注:关于修改php配置的方法请参考:重写php配置的3种方式- session.save_handler = memcache
- session.save_path = "tcp://192.168.0.2:11211,tcp://192.168.0.3:11211,tcp://192.168.0.4:11211"
复制代码 3. 在php.ini最下面添加以下内容- [memcache]
- extension = memcache.so
- memcache.allow_failover = 1
- memcache.max_failover_attempts = 3 #重试3次都失败之后开始使用下一台memcached
- memcache.chunk_size = 32768 #3.x版本中的默认值
- memcache.default_port = 11211
- memcache.default_timeout_ms = 1000
- memcache.hash_strategy = consistent #保证从写入session的memcached中读取
- memcache.session_redundancy = 4 #将session同时写进多个memcached,3.x版本中才支持
复制代码 在我测试过程中发现memcache.session_redundancy的值需要设置的比实际使用的memcached的数量+1,这样才能保证session同时被写入所有的memcaced中。这应该是一个bug,目前关于memcache 3.0扩展新增的几个参数还没有文档,持续关注吧。
4. 重载php配置 |
|