2013-05-15 6 views
13

Nehmen wir an, ich habe eine Datenbank mit 1.000.000 Schlüsseln. Gibt es eine Möglichkeit, die letzten 10 Schlüssel aus dieser Datenbank zu kennen?Wie würden Sie die letzten 10 Schlüssel wieder bekommen?

+0

nein, du musst es selbst implementieren –

+0

Und wie würdest du das machen? – Siva

+0

können Sie Schlüssel in einer Liste oder in einem sortierten Satz speichern –

Antwort

3

Sie müssen es als eine andere Liste mit den folgenden Befehlen pflegen.

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

Als Abhilfe kann, wenn ich die AOF-Datei, um zu sehen, was die letzte Änderung gibt es nichts im Cache ändern möge, ich Schwanz.

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

Von dort können Sie den Schlüssel, den Wert und Befehl sehen.

+0

Dazu muss appendonly in der Konfigurationsdatei auf yes gesetzt werden. Das ist nicht der Standard. – Zitrax

0

Einige Befehle haben [LIMIT offset count], die Sie füllen können und begrenzte Anzahl von Elementen erhalten.

wie zrevrangebyscore key +inf 0 LIMIT 0 20 das gibt Ihnen die Top 20 Elemente eines sortierten Satzes.

Verwandte Themen