查看: 1611|回复: 0

[PHP学习] session共享问题解决方案

发表于 2017-10-11 08:00:05
句号论坛

1:使用数据库保存session, 使用数据库来保存session,就算服务器宕机了也没事,session照样在。

问题:程序需要定制;每次请求都进行数据库读写开销不小,另外数据库是一个单点,可以做数据库的hash来解 决这个问题。

2:使用 memcached来保存session, 这种方式跟数据库类似,内存存取性能比数据库好很多。

问题:程序需要定制,增加 了工作量;存入memcached中的数据都需要序列化,效率较低,断电或者重启电脑容易丢失数据;

3: 通过加密的cookie,在A服务器上登录,在用户的浏览器上添加加密的cookie,当用户访问B服务器时,检查有无Session,如果没有,就检验 Cookie是否有效,Cookie有效的话就在B服务器上重建session。简单,高效, 服务器的压力减小了,因为session数据不存在服务器磁盘上。根本就不会出现session读取不到的问题。

问题:网络请求占用很多。每次请求时,客户端都要通过cookie发送session数据给服务器,session中数据不能太多,浏览器对cookie 的大小存在限制。不适合高访问量的情况



太阳http代理AD
回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条