2013-05-15 25 views
13

假設我有一個擁有1,000,000個密鑰的數據庫。有沒有辦法知道該數據庫中的最後10個鍵?你將如何獲得最後10個按鍵redis?

+0

nope,你必須自己實現它 –

+0

你會怎麼做呢? – Siva

+0

您可以將密鑰存儲在列表或排序集中 –

回答

3

您需要使用以下命令將其作爲另一個列表進行維護。

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

作爲一種解決辦法,如果我不希望在緩存中去改變什麼,我尾部AOF文件,看看有什麼最新的變化出現。

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

從那裏,你可以看到使用的鍵,值和命令。

+0

這需要在配置文件中將appendonly設置爲yes。這不是默認設置。 – Zitrax

0

一些命令有[LIMIT offset count]這樣你就可以填充並獲得有限數量的項目。

zrevrangebyscore key +inf 0 LIMIT 0 20它給你排序集的前20項。