如果用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儲存記憶體的資料