2013-12-11 3 views
0

У меня есть длинные ключевые имена в Redis, и я хотел бы получить к ним доступ по их индексу. Например:Как получить доступ к ключам по его индексу?

redis XXXX:6379[1]> KEYS * 
1) "aaa" 
2) "bbb" 
3) "ccc" 
4) "ddd" 

И то, что я хотел бы сделать что-то вроде:

redis XXXX:6379[1]> GET '1' 

или

redis XXXX:6379[1]> GET KEYS[1] 

Для получения информации о выбранном ключе.

+1

Это будет болезненно медленным по сравнению с доступом к объекту с помощью ключа. Вы должны найти способ использовать ключ, если это вообще возможно. 'KEYS' стоит дорого, а индекс ключа не будет оставаться прежним, если вы добавляете/удаляете ключи много. Вы должны подумать о том, чтобы иметь СПИСОК, содержащий ваши ключи в порядке, если вам это нужно, а затем найдите ключ в списке по индексу. –

+0

Это хорошая точка – Vor

ответ

0

Использование Redis-Cli на убунт я могу сделать следующий случай:

  1. поиск ключей и сортировать их

    стремительного> Redis-Cli ключам * | сортировать ак акой ASDF

  2. Чтобы получить первый ключ

    Redis-консоли ключи а * | сортировать | головка -n 1

  3. Top 2 ключи

    Redis-Cli ключи а * | сортировать | головка -n 2

  4. получить второй элемент

    Redis-Cli ключам * | сортировать | головка -n 2 | хвост -1

Это решение может использоваться в скриптах.

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