跨服务器跨域名SESSION解决方案

跨服务器跨域名SESSION解决方案

我们的产品有很大访问量,网友数量相当多啊!速度也变的缓慢

那么怎么办?怎么好解决那!

将多台服务器连接,这些服务器一起分担同样的应用和数据库计算任务,改善关键大型应用的响应时间。这是一个很好的方式啊!

产品MM Joe ,我正在给老板演示功能,为什么登录第一次可以登录,第二次却还让我重新登陆那!这是你在开玩笑吗?你可能要开始去逛逛https://www.360docs.net/doc/dc15341095.html,(智联招聘)

好吧!我承认设计中有一点小疏失。OMG.可能服务器集群,SESSION 没有共享问题。我会很好处理的。自己心里想:太狠了。要辞我。等哥发财的.研发人员

如何来解决。跨服务器,跨域名的SESSION共享那~?

对于跨服务器跨域名的SESSION解

决方案:

1.将SESSION存储数据库来做。

2.将session存储在MEMCACHE

来做

3.服务器做一个NFS共享,来解决

SESSION共享问题(这个不太常用,

因为他自己没有回收机制。只能我

们自己写SHELL之类东东来删除过

期的SESSION,比较悲剧)

用数据库存储session

(考虑下有啥缺点)

首先:修改我们PHP配置文件PHP.INI.

可以通过修改php.ini文件的session.save_handler设置来改变Session的保存方式。

默认为session.save_handler = files,必须将其修改为session.save_handler = user,即变为用户自定义方式。(当然我们也可以用ini_set来设置)

给大家介绍一个函数。

session_set_save_handler

说明:

bool session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback $destroy , callback $gc )

这些参数都代表着方法。(也就是自定义方法)

open:打开session

close:关闭session

read:读取session

write:写入session

destroy :定义删除Session信息

gc : 定义自动删除过期的Session信息

返回值

如果成功则返回TRUE,失败则返回FALSE。

下面开始建立表.

建立表表结构;sesskey是主键

介绍下具体代码应用;请看session.php.

分析下:session_set_save_handler ( callback $open , callback $close , callback $read , callback $write , callback $destroy , callback $gc )

这里方法定义规则。

OPEN:打开session.

相关文档
最新文档