Laravel 使用 Redis 作为 session 驱动
安装Redis
composer require predis/predis
设置Redis连接
config/database.php
'redis' => [
'client' => 'predis',
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
'redis-session' => [
'host' => env('REDIS_HOST', '127.0.0.1'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
],
],
设置session驱动器
config/session.php
//session 驱动方式为 redis
'driver' => env('SESSION_DRIVER', 'redis'),
//设置redis驱动器的连接配置,即:config/database.php中redis数组中的配置信息
'connection' => 'redis-session',
修改.env文件
SESSION_DRIVER=redis
OK。
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
session如何设置redis的集群呢?
@duohekaishui 查看你对应的版本文档:Redis《Laravel 8 中文文档》
这是单纯是用redis集群 session 如果是集群配置会报 ‘host’ 下标不存在 好像session没有获取到redis的集群配置
@duohekaishui 那你在集群配置里新增一项session 对应的配置呢?
没有用 他还是会读取session里面配置
@duohekaishui session 里面connection配置项换成你集群里的试下
不行
@duohekaishui 你可以直接用redis集群的地址,不用集群的配置项;不能满足你的需求么?
就是不知道这个session怎么配置redis的集群 有点纠结 看源码吧 还是....
需要把session配置放到redis集群配置里面 外部不能有session的配置 laravel会先获取clusters外面的单利session配置 判断没有才会获取clusters里面的集群配置
@duohekaishui ok