我想标记一个独立的Redis服务器(不是Redis集群,不是Redis-哨兵)为只读。我已经在谷歌上搜索了很长一段时间,但我似乎没有找到明确的答案(几乎所有的答案都指向集群或哨兵)。我正在寻找一些配置修改(CONFIG SET something)。
注意:config set replica-read-only yes不使当前的redis服务器只读,而只使其副本读取。
我的用例基本上是我在做一个迁移,在某个时候,我想使redis服务器只读。每当发生写调用时,我的应用程序代码都可以处理失败,所以这不是问题。
另外,如果这在redis服务器上是不可能的,那么在客户端代码中我是否可以做同样的事情(
免责声明,我对redis和elasticache很陌生。引用此堆栈溢出中的答案。
我有一个基本的AWS ElastiCache Redis集群设置:
nodesencryption at rest 9 3 shards
但是,当我试图连接到配置端点时,我会得到READONLY You can't write against a read-only replica'。
如果将连接字符串更改为节点端点,则连接成功。
我在这里错过了什么?为什么配置端点不将我导航到非READONLY节点?
今天,我面临的一个问题是,kubernetes集群中的redis显示了如下错误:
2021-11-16T05:32:18 [INFO] - increment delete failed...,MobcError(RedisCMDError(An error was signalled by the server: You can't write against a read only replica.))
我检查了redis配置,发现config url如下所示:
redisConnectionStr="redis://default:password@cruise-redi
我一直在使用莴苣作为Redis客户端来与AWS Elasticache交谈。我目前使用的特定配置是。最近,主节点启动了故障转移进程,并最终导致所有应用程序写入请求失败,出现以下错误:
redis.RedisCommandExecutionException: READONLY You can't write against a read only slave.
从那以后,我一直在做一些研究,并意识到可能是一种适合于与Elasticache (在非集群模式下)对话的配置,因为根据AWS文档,客户端应该始终只与主端点对话--在发生故障转移时,该端点被更新为指向新的主服务器。
这让我想知道,
我不知道如何通过Node.js连接AWS的ElastiCache Redis。我已经成功地通过node_redis NPM连接到主主机(001),但是我无法使用ioredis的集群功能,因为显然ElastiCache没有实现集群命令。
我认为肯定有另外一种方法,但是AWS只具有管理ElastiCache的命令,而不是实际连接到它的命令。
在不使用集群的情况下,我担心如果主节点失败,我的应用程序就不会失败,因为我不能返回到其他集群。当主交换机切换时,我还会从我的Redis客户端Error: READONLY You can't write against a read only slav
我如何使Redis从可写在docker-come.yml中?
我有一个正在运行的Python脚本,由于以下错误,该脚本无法在失败时传输到从服务器:
File "app.py", line 22, in <module>
r.set(timestamp, num)
File "/usr/local/lib/python2.7/site-packages/redis/client.py", line 1519, in set
return self.execute_command('SET', *pieces)
是否有可能创建一个只有一个主服务器和N个从/副本的Redis集群?
我试过,但失败了
redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 --cluster-replicas 2
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 3 nodes and 2 replicas per