當使用負載均衡分布式運行程序的時候,由于負載均衡每次分配的機器可能不同,在硬盤中以文件的形式存儲 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' => '',
]
~~~