Laravel 连接 redis 支持 tls、ssl 协议

原创 Laravel
阅读数: 1500 2023年08月17日

参考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
    ],

],



phpriji.cn | 网站地图 | 沪ICP备17015433号-1