2016-09-04 1 views
0

вроде новичка на Redis ...ключи командной поведения на Redis против REDIS кластера на AWS

Я заметил странное поведение на Redis .. Когда я бегу Redis локально, & с помощью команды «клавиши * '- Я вижу \ все ключи в системе - все в порядке и согласно документации.

Когда я бегу Redis в режиме Elasticache \ кластера на AWS & с помощью команды «клавиш *» - я только получаю «1)„ElastiCacheMasterReplicationTimestamp“» на всех 3 красноты серверов. Я пробовал другие команды, чтобы найти недостающую информацию, но безрезультатно. Наше приложение \ сервер, похоже, работает нормально, поэтому что-то работает нормально, но что и где? Я прочитал документацию, но ничего не нашел на этом.

Может ли кто-нибудь объяснить? Большое спасибо.

ответ

0

Команда KEYS НЕ поддерживается Redis Cluster. Вы можете отправить команду KEYS одному экземпляру Redis.

Не рекомендуется использовать команду KEYS в производственной среде, особенно если у вас слишком много ключей в Redis (она будет блокировать Redis в течение длительного времени).

Если вы настаиваете на том, чтобы все ключи в Redis Cluster, вы должны реализовать ее самостоятельно, и есть an example

+0

Благодарим вас за ссылку и объяснение. это было полезно. Ура! – Busted

+0

ElasticCache не является режимом кластера Redis. Это предложение «Redis compatible» от Amazon. Тот факт, что ключи возвращены, говорит вам, что он поддерживается ElasticCache, но да, это ужасная идея запуска ключей j production. –

+0

@ TheRealBill Спасибо за указание! Я не знаком с ElasticCache. Я думал, что он отказывается от команды «KEYS» для режима кластера и возвращает некоторую настраиваемую информацию. –

0

Я бы рекомендовал подтверждающим конфигурацию приложения, чтобы убедиться, что он указывает на установку ElasticCache. Кластер Redis и ElasticCache - это разные вещи. Таким образом, независимо от того, поддерживает ли она команду ключей или нет, это не имеет значения. Если ElasticCache не поддерживал команду keys, как сервер, совместимый с Redis, он возвращал бы ошибку, а не неполный список ключей.

Если на ваших ключах установлен срок годности, возможно, вы их не видели, потому что в этот момент они истекли. Но также возможно, что он разговаривает с другим сервером или даже просто проглатывает ошибки. У нас нет способа этого.

Вы можете, однако, использовать команду info и ее подкоманды, такие как info commandstats, чтобы гарантировать, что на ней действительно запущены команды. Если вы не видите команды, перечисленные в вашем приложении, ваше приложение не разговаривает с ним.

 Смежные вопросы

  • Нет связанных вопросов^_^