簡體   English   中英

在Redis上使用keys命令行為vs在AWS上使用Redis集群

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM