2015-04-18 6 views
1

В Redis команды клавиши * возвращает список всех ключей и сканирования 0 является более новым способом сделать что-то подобное, но с меньшей блокировкой. Существуют ли какие-либо команды, которые могут сортировать найденные ключи, например, в алфавитном порядке, численно, по времени создания и т. Д.?Redis Команда Для сортировки ключей

Пример стандартной и фантазии команды разыскиваемого:

стандартные ключи размещать: * команду:

post:2150 
post:2400 
post:1001 
post:1006 

фантазии команды для сортировки ключей по алфавиту:

post:1001 
post:1006 
post:2150 
post:2400 
+0

Вы ищете [это] (http://php.net/manual/en/function.ksort.php)? – Huey

ответ

3

Redis возвращает ключи, используя KEYS (не используйте его в производстве!) или SCAN, неупорядоченный. Нет никакого «фантастического» API для их сортировки, но вы можете сделать это в клиентском приложении.

+0

Спасибо, что подтвердили это. Я не был уверен, что я пропустил что-то в спецификации Redis. Да, это то, что я сейчас делаю, сортируя результаты в клиенте. – Guessed

+0

Отлично - если вы делаете много из них, вы можете рассмотреть возможность перемещения (некоторой) логики на Redis с помощью (Sorted) Sets, команды SORT и/или сценариев Lua. OTOH, используя Redis, слишком много RAM/CPU/NW может стать еще одной проблемой, поэтому определенно есть компромисс. Лично, если вам нужно только отсортировать ключи для клиента, я бы сохранил эту работу там (если проблема клиента не является проблемой;)) –

+1

Полностью согласен с разгрузкой клиента и полностью использую команды z для перетасовки данных с помощью Гол. Я не работаю для Redis, но должен сказать, что его функции - это совершенно новая архитектурная парадигма, и это смена игры. – Guessed

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