当使用负载均衡分布式运行程序的时候,由于负载均衡每次分配的机器可能不同,在硬盘中以文件的形式存储 Session 会导致读不到 Session。在 Redis 和 Memcache 流行之前,通常我们使用独立的 MySQL 数据库存储 Session,但是遇到高并发的情况,性能读写又是问题。所以我们现在可以使用 Redis 来存储 Session。
ThinkPHP 5 框架支持直接把 Session 存储结构修改为使用 Redis 存储。所以直接修改配置文件即可实现。
### 修改配置
默认配置文件
~~~
'session' => [
'prefix' => 'think',
'type' => '',
'auto_start' => true,
],
~~~
修改为用 Redis 存储
~~~
'session' => [
'prefix' => 'think',
'type' => 'redis',
'auto_start' => true,
// redis 主机
'host' => '127.0.0.1',
// redis 端口
'port' => 6379,
// redis 密码
'password' => '',
]
~~~