我在 PC1 上启动了 Redis 集群,然后在 PC2 上连接它。当需要重定向到另一个集群节点时,它显示Redirected to slot [7785] located at 127.0.0.1,但应该显示Redirected to slot [7785] located at [IP of PC1, like 192.168.1.20],然后显示错误。怎么了?我能做什么?
输出:
[admin@localhost ~]$ redis-cli -c -h 192.168.1.20 -p 30001
192.168.1.20:30001> get foo
-> Redirected to slot [12182] located at 127.0.0.1:30003
Could not connect to Redis at 127.0.0.1:30003: Connection refused
Could not connect to Redis at 127.0.0.1:30003: Connection refused
not connected>
Run Code Online (Sandbox Code Playgroud)
的输出redis-cli -h 192.168.1.20 -p 30001 cluster nodes:
5f6d6f1319318233917aba92b6ab0e244b3260d7 127.0.0.1:30004 slave 4c7b046ecaeb2dc689cbad21ee3466fb43b48fb9 …Run Code Online (Sandbox Code Playgroud) 我得到了一个远程设置的Redis服务器.我可以访问该数据,我可以使用该服务器进行CRUD操作.但我想在我的本地使用相同数据库的副本.
我在本地安装了Redis桌面管理器.还有redis-server设置运行.
我尝试过的事情:
使用SAVE命令.
我已连接到远程服务器并执行了save命令.它成功运行并dump.rdb在该服务器上创建了文件.但我无法访问该文件,因为我没有服务器FTP的权限.
使用BGSAVE
同样的情况也在这里
使用redis-cli命令
redis-cli -h server ip -p 6379 save > \\local ip\dump.rdb
Run Code Online (Sandbox Code Playgroud)
这里我收到错误无法找到网络名称.
任何人都可以建议我如何将.rdb文件从服务器复制到本地?
我正在尝试使用 删除一堆与前缀匹配的键redis-cli。
我一直在研究如何在线执行此操作,我见过的最常见的建议是直接从命令行执行此操作,如下所示:
$ redis-cli [options] KEYS "prefix:*" | xargs redis-cli [options] DEL
但是,我更愿意在工具内部执行此操作redis-cli,这样每次我想要删除与模式匹配的密钥时,就不必在 cli 命令中传递主机名、端口和身份验证参数。到目前为止我已经尝试过:
DEL "prefix:*"DEL KEYS prefix:*DEL KEYS "prefix:*"KEYS "prefix:*" | DELKEYS "prefix:*" DEL有没有办法从工具中删除前缀下的所有键redis-cli?命令行是实现此目的的唯一方法吗?
如果您希望我澄清更多信息,请随时发表评论。
由于某些历史/事件原因,我的公司无法使用 AWS ElastiCache,那么有人可以推荐有关如何在 AWS EC2 上配置 Redis集群的分步教程吗?
这个在 aws 微型实例上安装 redis已经很好地回答了如何安装单个 Redis 实例。
但是在安装Redis Cluster方面,没有提供更多信息,我在网上搜索,没有找到明确的教程/示例,例如应该使用哪个集群管理?ZooKeeper、Mesos 等?在开发、配置和部署到生产时,应该注意其他任何事情。
非常感谢!
我想通过redis-cli键获得价值
这是工作
redis-cli keys number_* | xargs redis-cli del
Run Code Online (Sandbox Code Playgroud)
但这不起作用
redis-cli keys number_* | xargs redis-cli get
Run Code Online (Sandbox Code Playgroud) 我正在尝试删除AWS ElastiCache集群中的所有键/值,但是当我正在执行flushall或flushdb从redis-cli中执行操作时,它只会删除当前连接到的节点中的值。
我正在寻找一个可以删除集群中所有节点的所有密钥的命令。我可以运行cluster nodes,获取主节点列表,分别连接到每个主节点,然后运行flushdb,但这要调用有效的TRUNCATE命令似乎有很多开销。有更简单的方法吗?
我有 1 个 VPC - 在 1 个 EC2 实例(亚马逊 ami )和 1 个 Redis(已启用集群模式)集群下,具有身份验证(密码)并且安全组对所有 IP:端口开放(仅用于测试目的) - 所以设置非常简单。
telnet 在我的 EC2 实例的端口 6379 上工作 - 配置端点 - Shard>eachNode EndPoint
无法使用 Redis CLI 连接到 Redis 服务器 - 无论端点是配置端点还是节点端点;使用 v.5.0.4 的 Redis CLI ;
请注意 - AWS ElastiCache Redis 集群(已禁用集群)或单服务器节点提供主端点,工作正常。仅当启用集群并获取 ConfigEndpoint/NodeEndPoints 时,才会出现问题。
配置端点:
[root@ip-xx-xx-xx-xx src]# ./redis-cli -h clustercfg.xxxx.xxxxx.use1.cache.amazonaws.com -p 6379
Run Code Online (Sandbox Code Playgroud)
节点端点:
[root@ip-xx-xx-xx-xx src]# ./redis-cli -h xxxx-0001-0-01.xxxx.xxxxx.use1.cache.amazonaws.com -p 6379
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!
谢谢
我正在使用 redis 在我的应用程序中设置和过滤键值对。但在使用 HSCAN 进行过滤时,它始终返回区分大小写的数据。我需要从 Redis 获取不区分大小写的数据。我怎样才能得到这个?
如何设置Redis不区分大小写?
例如:如果我搜索“foo”,它应该返回以下结果,
Foo
foo
FOO
fOO
Run Code Online (Sandbox Code Playgroud)
请就此提供您的意见。
我有一个盒子,里面有很多 redis 的东西。我将代码从写入通道转换为执行 lpush。为了查看我的输出,我使用了 redis-cli 的monitor命令。有没有办法过滤监视器命令以仅显示我感兴趣的 lpush 通道。服务器上有很多内容,所以我无法捕获我的输出。
作为参考,我使用 redis-cli 订阅频道名称。但这对 lpush 不起作用
我使用 Redis 哈希集以以下格式存储数据:
hset b1.b2.b3 name test
Run Code Online (Sandbox Code Playgroud)
现在我想删除这个键,所以我使用以下格式:
del b1.b2.*
Run Code Online (Sandbox Code Playgroud)
但它不起作用,那么我如何使用模式删除 Redis 键呢?