Как я могу получить все наборы в Redis? - PullRequest
19 голосов
/ 18 сентября 2011

Я знаю команду KEYS, но она возвращает только ключи (я предполагаю, что все ключи имеют тип String), и, очевидно, наборы не считаются ключами.

Есть ли команда для получениявсе наборы в базе данных?А как насчет других типов данных (хэш, список, отсортированный набор)?

http://redis.io/topics/data-types

Ответы [ 3 ]

28 голосов
/ 18 сентября 2011

Я знаю команду KEYS, но она возвращает только ключи (я предполагаю, что все ключи имеют тип String), и, очевидно, наборы не считаются ключами.

Команда KEYS возвращает результаты независимо от того, какой тип данных являются вашими ключами, поскольку она ищет имена ключей.На самом низком уровне абстракции каждый тип данных в redis основан на ключе / значении, где значение может быть представлено в виде одной из нескольких (расширенных) структур данных (строка, хэш, список, набор, отсортированный набор).Вы можете видеть, что команда KEYS также работает для наборов в ее примерах .

Есть ли команда для получения всех наборов в базе данных?А как насчет других типов данных (хэш, список, отсортированный набор)?

Насколько я знаю, для этой функции нет выделенной команды, и команда KEYS применяется ко всему набору данных вашей базы данных.Однако есть команда TYPE , которая может определить тип данных указанного ключа.

5 голосов
/ 17 мая 2015

Ответ был верным для своего времени, однако это поддерживается в Redis 2.8.0 - Проверьте SCAN

1 голос
/ 08 августа 2018

В Cli-Redis вы можете попробовать и сделать:

KEYS *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...