簡體   English   中英

如何在Redis中使哈希字段到期?

[英]How do you expire a field of a hash in Redis?

我想在不同的時間后使哈希的某些字段過期。 從文檔看來,這似乎是不可能的: http : //redis.io/commands/expire 我可以以某種方式模仿這種行為嗎? 目前,我只是將哈希名稱復制為其所有字段的前綴,並對每個字段添加到期時間。 對於我想存儲的結構是:

"PEOPLE" : {
 "NICK" : 29
 "AMANDA" : 23
}

但我無法在“ NICK”上設置過期,只能在整個散列“ PEOPLE”上設置過期。 因此,我將其轉換為鍵值的數量和:

"PEOPLE_NICK" : 29 (expire 2 hours)
"PEOPLE_AMANDA" 23 (expire 1 hour)

但是有很多密鑰,這使得管理起來非常困難,而且獲取時也變得很繁瑣,因為我必須使用通用前綴來獲取所有內容。

如果上面的示例是一個准確的表示形式,並且取決於您將使用數據的精確程度,則可以使用一個排序的集合,每個人的得分為Unix時間戳。 然后,您將在Cron作業上使用zremrangebyscore清除超出可接受范圍的項目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM