ThinkCMF框架将session存入redis

网站随着访问量一天天增加,用nginx实现了负载均衡,但是如果用ip_hash的方式,多台WEB前台的负载不均衡,如果用轮询方式则存在,网站登录用户会自动退出。

为了解决用户自动退出问题,决定将session放入redis.

前提:

1.下载并安装ThinkCMFX2.2.3

2.PHP环境支持redis扩展

3.正确安装redis数据库

配置:

1.在/data/conf/db.php中添加redis的连接配置

'REDIS_CONFIG_SESSION'=>array(

'host' => '127.0.0.1', // redis主机

'port' => 6379, // redis端口

'password' => '12345678', // 密码

'select' => 10, // 操作库

'expire' => 5, // 有效期(秒)

'timeout' => 0, // 超时时间(秒)

'persistent' => false, // 是否长连接

'session_name' => 'cmf_', // sessionkey前缀

),

2.在程序目录中 /simplewind/Core/Library/Think/Session/Driver/ 添加文件 Redis.class.php (部分代码截图)

ThinkCMF框架将session存入redis

文件中引入相关redis的配置

3.修改文件: /simplewind/Core/Conf/convention.php 中查找 'SESSION_TYPE' => '', 改为 'SESSION_TYPE'=> 'Redis', 让整个工程的session存入redis

登录装好的THINKCMF,可以在redis里看到session已经存入相应的库里。并且过期时间如配置文件中所配置,会自动过期。

ThinkCMF框架将session存入redis


分享到:


相關文章: