red上的密钥命令行为vs aws上的redis集群

时间:2016-09-04 15:30:57

标签: amazon-web-services redis redis-cli

在redis上有点新手......

我注意到redis上有一种奇怪的行为。 当我在本地运行redis时,&使用命令'键*' - 我得到\看到系统中的所有键 - 这是正确的,并根据文档。

当我在aws&amp ;;上以Elasticache \ cluster模式运行redis时使用命令'键*' - 我只能得到 ' 1)" ElastiCacheMasterReplicationTimestamp"'在所有3个红色服务器上。 我已经尝试过其他命令来查找丢失的信息,但无济于事。 我们的app \ server似乎运行正常,所以有些东西正常工作,但是在什么地方和哪里? 我已阅读文档,但无法找到相关内容。

有人可以解释一下吗? 非常感谢。

2 个答案:

答案 0 :(得分:0)

Redis群集不支持KEYS命令。您只能将KEYS命令发送到单个Redis实例。

在生产环境中使用KEYS命令并不是一个好主意,特别是当你在Redis中有太多的键时(它会长时间阻止Redis)。

如果您坚持要在Redis群集中获取所有密钥,则必须自己实施,并且an example

答案 1 :(得分:0)

我建议确认应用程序的配置,以确保它指向ElasticCache设置。 Redis集群和ElasticCache是​​不同的东西。因此,它是否支持keys命令是无关紧要的。如果ElasticCache不支持keys命令,则作为Redis兼容服务器,它将返回错误,而不是不完整的键列表。

如果您的密钥设置了过期,则可能您没有看到它们,因为此时它们已过期。但它也可能与不同的服务器通信,甚至只是吞咽错误。我们没办法这样做。

但是,您可以使用info命令及其子命令(如info commandstats)来确保命令确实在其上运行。如果您没有看到应用程序使用的列出的命令,则您的应用程序不会与之通话。