【发布时间】:2018-09-09 21:28:02
【问题描述】:
是否可以在一个 Redis 服务器上运行两个 Laravel 应用程序而不会发生键名冲突?我没有看到设置命名空间或添加缓存前缀的文档。
【问题讨论】:
-
这个答案对我有帮助:stackoverflow.com/a/50354984/470749
标签: laravel redis namespaces laravel-5.6
是否可以在一个 Redis 服务器上运行两个 Laravel 应用程序而不会发生键名冲突?我没有看到设置命名空间或添加缓存前缀的文档。
【问题讨论】:
标签: laravel redis namespaces laravel-5.6
我想我找到了答案,至少对于我们这些使用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'
],
],
【讨论】:
Redis 支持每台服务器多个“数据库”:您只需在配置中设置“数据库”=> 1。但是,根据the docs,不建议这样做:
实际上,Redis 数据库应该主要用于在需要时分离属于同一应用程序的不同键,而不是为了将单个 Redis 实例用于多个不相关的应用程序。
因此,根据您的使用情况,您最好在当前服务器旁边启动另一台 redis 服务器。
【讨论】: