![](/img/trans.png)
[英]Is it possible to delete all keys on an AWS ElastiCache redis cluster?
[英]keys command behavior on redis vs redis cluster on aws
有點新手上redis ...
我注意到Redis的行為很奇怪。當我在本地運行Redis時,使用命令'keys *'-我會\\看到系統中的所有鍵-沒問題,根據文檔。
當我在AWS上以Elasticache \\ cluster模式在運行Redis並使用命令'keys *'時-在所有3個Reds服務器上我只得到'1)“ ElastiCacheMasterReplicationTimestamp”。 我試過其他命令來查找丟失的信息,但無濟於事。 我們的應用程序\\服務器似乎運行正常,因此某些工作正常,但是什么地方? 我已經閱讀了文檔,但是找不到任何東西。
誰能解釋? 非常感謝。
Redis Cluster不支持KEYS
命令。 您只能將KEYS
命令發送到單個Redis實例。
在生產環境中使用KEYS
命令不是一個好主意,尤其是當Redis中的鍵太多時(這會長時間阻止Redis)。
如果您堅持要在Redis集群中獲取所有密鑰,則必須自己實現它,並且有一個示例
我建議您確認應用程序的配置,以確保它指向ElasticCache設置。 Redis集群和ElasticCache是不同的東西。 因此,它是否支持keys命令無關緊要。 如果ElasticCache不支持keys命令,則作為Redis兼容服務器,它將返回錯誤,而不是不完整的密鑰列表。
如果您的密鑰上設置了到期時間,則可能您沒有看到它們,因為那時候它們已到期。 但是也有可能它正在與其他服務器通信,甚至只是吞沒錯誤。 我們沒有辦法做到這一點。
但是,您可以使用info命令及其子命令(例如info commandstats
來確保命令確實在其上運行。 如果您沒有看到應用程序使用的列出的命令,則表明您的應用程序沒有與之對話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.