Dot-Net

REDIS 耐用性?如何自動過期數據?

  • November 24, 2015

我使用 REDIS 來儲存數據(字元串)。例如:鍵“s1”儲存值“hello world”。鍵“s2”儲存值“再見”。我希望 s1 在 5 分鐘後自動過期(可用記憶體),但 s2 永不過期。我使用 C#,.net 4.0 >> 如何編碼?謝謝

關於 EXPIRE 的文件允許您為每個鍵設置一個 EXPIRE 值,以秒為單位。

EXPIRE s1 300

將在 5 分鐘內使密鑰 s1 過期。

請參閱此處的文件:REDIS EXPIRE

如果您正在尋找 C# 程式碼,我認為這將取決於您用於訪問 REDIS 的庫。還有一些其他的 SO 問題可能會有所幫助,但也討論了 expire 不起作用的問題:Redis Expire does not work

如果您打算將 Redis 用作記憶體,其中每個鍵都會設置過期時間,您可以考慮使用以下配置(假設最大記憶體限制為 2 兆字節):

maxmemory 2mb
maxmemory-policy allkeys-lru

在此配置中,應用程序無需使用 EXPIRE 命令(或等效命令)為密鑰設置生存時間,因為只要我們達到 2 兆字節的記憶體限制,所有密鑰都將使用近似的 LRU 算法被驅逐。

基本上,在這種配置中,Redis 的行為方式與 memcached 類似。我們有更多關於使用 Redis 作為 LRU 記憶體的文件。

引用自:https://stackoverflow.com/questions/24482861