请教 Redis cluster 配置使用问题
问题描述:在 laravel 5.8 使用 cache + redis cluster 一直去连接本地 redis 服务器。
版本信息:
"require": {
"php": "^7.1.3",
"dingo/api": "^2.2",
"fideloper/proxy": "^4.0",
"jenssegers/mongodb": "^3.5",
"laravel/framework": "^5.8",
"laravel/tinker": "^1.0",
"predis/predis": "^1.1",
"ext-json": "*"
},
.env 中
CACHE_DRIVER=redis
cache.php 配置:
'redis' => [
'driver' => 'redis',
// 'connection' => 'cache',
'connection' => 'default',
],
database.php 配置:
'redis' => [
// 'cluster' => 'true',
'client' => env('REDIS_CLIENT', 'predis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
// 'parameters' => ['password' => env('REDIS_PASSWORD', null)],
],
'clusters' => [
'default' => [
[
'host' => env('REDIS_HOST_A'),
'password' => env('REDIS_PASSWORD_A'),
'port' => env('REDIS_PORT_A', 6379),
'database' => env('REDIS_DB_A', 0),
],
[
'host' => env('REDIS_HOST_B'),
'password' => env('REDIS_PASSWORD_B'),
'port' => env('REDIS_PORT_B', 6379),
'database' => env('REDIS_DB_B', 0),
],
[
'host' => env('REDIS_HOST_C'),
'password' => env('REDIS_PASSWORD_C'),
'port' => env('REDIS_PORT_C', 6379),
'database' => env('REDIS_DB_C', 0),
],
[
'host' => env('REDIS_HOST_D'),
'password' => env('REDIS_PASSWORD_D'),
'port' => env('REDIS_PORT_D', 6379),
'database' => env('REDIS_DB_D', 0),
],
[
'host' => env('REDIS_HOST_E'),
'password' => env('REDIS_PASSWORD_E'),
'port' => env('REDIS_PORT_E', 6379),
'database' => env('REDIS_DB_E', 0),
],
[
'host' => env('REDIS_HOST_F'),
'password' => env('REDIS_PASSWORD_F'),
'port' => env('REDIS_PORT_F', 6379),
'database' => env('REDIS_DB_F', 0),
],
],
],
// 'cache' => [
// 'host' => env('REDIS_HOST', '127.0.0.1'),
// 'password' => env('REDIS_PASSWORD', null),
// 'port' => env('REDIS_PORT', 6379),
// 'database' => env('REDIS_CACHE_DB', 1),
// ],
],
请帮忙看看哪里配置的不对?clusters
中的 redis 无密码,配置为 null
。一直在连接本地 redis 服务器。
打印了下
"tcp://127.0.0.1:6379"
因为本地 redis 有密码,所以一直报
message: "NOAUTH Authentication required."
看一下这个?
https://stackoverflow.com/questions/283096...
@Epona 多谢。
莫名其妙自己就好了,代码无修改。是什么问题也不清楚,很尴尬!
@wangxp :joy:
我配置了redis cluster集群在cli中各个主节点都能正常插入,然后在laravel中有的主节点就报
MOVED 5878 172.25.0.7:6379
类似这种错误,有的主节点能够正常插入。楼主有遇到过吗?还有我配置redis cluster只需要修改database.php就可以了吗?下面是我代码。这个问题很无语啊。
cluster 是无法修改db 的, 热点DB有时候会被GC, 你要不考虑下哨兵模式
请问最后怎么解决的,大佬写的是无缘无故就好了?
想问下该栏redis集群操作,用的predis,他的删除key没有问题?为什么我这边使用说不支持del。