session共享

1.通过NFS文件共享的方式,多台WEB服务器共享保存session文件的磁盘
2.保存在数据库中,这种方式的扩展性很强,可以随意增加WEB而不受影响
3.可以将session数据保存在memcached中,memcached是基于内存存储数据的,性能很高,用户并发量很大的时候尤其合适,参考PHP实现多服务器session共享之memcache共享
4.文件方式保存session时,可以采用php的扩展eaccelerator来存储sesion,参考

eaccelerator 应用之“使用共享内存存储Session”。


一个是各个服务器对同一个客户端产生的 SESSION ID 必须相同,并且可通过同一个 COOKIE 进行传递,也就是说各个服务器必须可以读取同一个名为 PHPSESSID 的 COOKIE;另一个是 SESSION 数据的存储方式/位置必须保证各个服务器都能够访问到。简单地说就是多服务器共享客户端的 SESSION ID,同时还必须共享服务器端的 SESSION 数据。

第一个实现:COOKIE 的域(domain)进行特殊地设置,设置成“.域名”:ini_set('session.cookie_domain', '.域名');

第二个实现:把SESSION 数据保存到数据库里 ,这样各个服务器就可以方便地访问同一个数据源,获取相同的 SESSION 数据了

最简单的方法,是通过 memcache 来实现,多台机器共用一个memcache
这样还有一个意外的好处,就是在并发大访问的情况下,还能防止单台机器,因为反复创建和打开SESSION文件,造成的IO压力,之前测试过,对于缓实IO压力很有效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值