2013-05-15 11 views
13

Załóżmy, że mam bazę danych zawierającą 1 000 000 kluczy. Czy istnieje sposób na poznanie ostatnich 10 kluczy z tej bazy danych?Jak dostałeś 10 ostatnich klawiszy?

+0

nie, musisz to zaimplementować samodzielnie –

+0

A jak byś to zrobił? – Siva

+0

można przechowywać klucze na liście lub w posortowanym zestawie –

Odpowiedz

3

Będziesz musiał zachować go jako kolejną listę, używając następujących poleceń.

Add new key to the front of the list 
LPUSH last10keys key 

Retain only the last 10 
LTRIM last10keys 0 9 

Get the last keys - will return 10 or less 
LRANGE mylist 0 9 
1

Jako obejście, jeśli nie chce nic zmieniać w pamięci podręcznej, że ogon plik AOF aby zobaczyć, co się tam najnowsze zmiany.

tail -f /var/lib/redis/appendonly.aof

Stamtąd można zobaczyć klucz, wartość i polecenia używane.

+0

To wymaga, aby w pliku konfiguracyjnym ustawić wartość yes. To nie jest wartość domyślna. – Zitrax

0

Niektóre polecenia mają [LIMIT offset count], które można wypełnić i uzyskać ograniczoną liczbę elementów.

podobnie jak zrevrangebyscore key +inf 0 LIMIT 0 20, która daje 20 pozycji sortowanego zestawu.