84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
如果用redis儲存的資料都是有時間的,那麼時間過期以後,
redis是否會自動清除過期的key
如果不自動清除,那麼豈不是持久化出來的文件就會越來越大。
如果是手動清除,怎麼清除。
我發現我重啟一下redis可以減少儲存的文件,是不是說重啟可以清除過期的key。
用的是redis的RDB,如果使用AOF的話,是不是解決方案也是一樣的。
ringa_lee
引進我一篇很久以前的文章討論一下redis的過期鍵刪除機制
然後回到你的問題:
redis會自動清除過期的key,透過惰性刪除和定期刪除。
這個是必然的,所有redis都有定期刪除機制,幫你每隔一段時間對redis資料庫進行一次檢查,刪除裡面的過期鍵
手動清除的話,透過del 等方法是刪除。
因為redis的資料都是存在記憶體中的(雖然有持久化但持久化的目的只是備份),所以你重啟以後,記憶體中的資料就沒有了,自然檔案就小了。
RDB和AOF與刪除機制壓根沒關係,他們只是持久化的方式而已。
自己在建立鍵值的時候設定過期時間,還可以用指令刪除指定鍵,都可以,重新啟動也可以刪除redis儲存記憶體的資料
引進我一篇很久以前的文章討論一下redis的過期鍵刪除機制
然後回到你的問題:
redis會自動清除過期的key,透過惰性刪除和定期刪除。
這個是必然的,所有redis都有定期刪除機制,幫你每隔一段時間對redis資料庫進行一次檢查,刪除裡面的過期鍵
手動清除的話,透過del 等方法是刪除。
因為redis的資料都是存在記憶體中的(雖然有持久化但持久化的目的只是備份),所以你重啟以後,記憶體中的資料就沒有了,自然檔案就小了。
RDB和AOF與刪除機制壓根沒關係,他們只是持久化的方式而已。
自己在建立鍵值的時候設定過期時間,還可以用指令刪除指定鍵,都可以,重新啟動也可以刪除redis儲存記憶體的資料