带有Singe Redis实例的多个Laravel应用程序

时间:2018-03-30 20:42:29

标签: laravel redis namespaces laravel-5.6

是否可以在没有密钥冲突的单个Redis服务器上运行两个Laravel应用程序?我没有看到设置命名空间或添加缓存前缀的文档。

https://laravel.com/docs/5.6/redis

2 个答案:

答案 0 :(得分:0)

我想我找到了答案,至少对于我们这些使用phpredis的人来说。对于默认的predis驱动程序,似乎无法做到这一点。

  

除了默认的主机,端口,数据库和密码服务器   配置选项,PhpRedis支持以下附加功能   连接参数:persistent,prefix,read_timeout和timeout。   您可以将以下任何选项添加到Redis服务器配置中   config / database.php配置文件:

'redis' => [

    'client' => 'phpredis',

    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => 0,
        'prefix' => 'my-app-prefix'
    ],

],

https://laravel.com/docs/5.6/redis#configuration

答案 1 :(得分:0)

Redis支持每台服务器多个“数据库”:您只需要设置'database'=>你的配置中有1个。但是,根据the docs,不建议:

  

实际上,Redis数据库应主要用于(如果需要)分离属于同一应用程序的不同密钥,而不是为了将多个不相关的应用程序用于单个Redis实例。

因此,根据您的使用情况,您最好只需将当前的redis服务器与其他服务器一起启动。