参考laravel10 文档:https://learnku.com/docs/laravel/10.x/redis/14887
laravel 连接 redis 支持 tcp协议、tls协议和 ssl 协议。
默认是 tcp协议,其他协议需要 redis 开启,并支持才可以。安全性更高。
修改配置文件 \config\database.php
1、client 必须是 phpredis(php redis 扩展),predis不可使用;
2、在 redis 配置里面设置 scheme。
误区:
default 只是 redis 的一个链接(默认链接),其他链接如果还是这个开启了 tls 的redis 也要设置 scheme,并不能只在 default 里面设置哦。
下面例子 cache 是给 缓存专用的 redis,也需要设置 scheme,否则缓存使用的时候报错。
'redis' => [ 'client' => env('REDIS_CLIENT', 'phpredis'), 'options' => [ 'cluster' => env('REDIS_CLUSTER', 'redis'), 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), ], 'default' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_DB', '0'), 'scheme' => env('REDIS_SCHEME','tcp'), //连接协议,默认 tcp,phpredis 扩展可以支持 tls、ssl ], 'cache' => [ 'url' => env('REDIS_URL'), 'host' => env('REDIS_HOST', '127.0.0.1'), 'username' => env('REDIS_USERNAME'), 'password' => env('REDIS_PASSWORD'), 'port' => env('REDIS_PORT', '6379'), 'database' => env('REDIS_CACHE_DB', '1'), 'scheme' => env('REDIS_SCHEME','tcp'), //连接协议,默认 tcp,phpredis 扩展可以支持 tls、ssl ], ],