默认情况下,Redis 服务会提供 16 个数据库,Laravel 使用数据库 0
(请见 Redis 文档)作为缓存和 Session 的存储。
在执行命令 PHP artisan cache:clear
清除缓存时,会把 Session 也连带清除了,可以通过以下设置来避免这个问题。
我们的目的是让缓存,也就是默认的 Redis 存储到 0 号数据库,Session 存储在 1 号数据库。
1. 配置 Session Redis 数据库修改 config/database.PHP
,在 redis
选项内增加 session
选项,并把 database
修改为 1:
'redis' => [ 'cluster' => false,'default' => [ 'host' => env('REdis_HOST','localhost'),'password' => env('REdis_PASSWORD',null),'port' => env('REdis_PORT',6379),'database' => 0, ],'session' => [ 'host' => env('REdis_HOST','database' => 1,],
2. 指定 Session 使用数据库
修改 config/session.PHP
,把下面这一行:
'connection' => null,
改为:
'connection' => 'session',
3. 开始使用修改 .env
文件的 SESSION_DRIVER
选项为 redis,开始应用上。
SESSION_DRIVER=redis
4. 测试一下执行以下命令后检查下是否退出登录:
PHP artisan cache:clear
如果不会就大功告成了。
总结以上是内存溢出为你收集整理的Laravel 下配置 Redis 让缓存、Session 各自使用不同的 Redis 数据库全部内容,希望文章能够帮你解决Laravel 下配置 Redis 让缓存、Session 各自使用不同的 Redis 数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)