redis持久化問題
ringa_lee
ringa_lee 2017-04-25 09:02:36
0
2
882

如果用redis儲存的資料都是有時間的,那麼時間過期以後,

  1. redis是否會自動清除過期的key

  2. 如果不自動清除,那麼豈不是持久化出來的文件就會越來越大。

  3. 如果是手動清除,怎麼清除。

  4. 我發現我重啟一下redis可以減少儲存的文件,是不是說重啟可以清除過期的key。

用的是redis的RDB,如果使用AOF的話,是不是解決方案也是一樣的。

ringa_lee
ringa_lee

ringa_lee

全部回覆(2)
巴扎黑

引進我一篇很久以前的文章討論一下redis的過期鍵刪除機制

然後回到你的問題:

  1. redis會自動清除過期的key,透過惰性刪除和定期刪除。

  2. 這個是必然的,所有redis都有定期刪除機制,幫你每隔一段時間對redis資料庫進行一次檢查,刪除裡面的過期鍵

  3. 手動清除的話,透過del 等方法是刪除。

  4. 因為redis的資料都是存在記憶體中的(雖然有持久化但持久化的目的只是備份),所以你重啟以後,記憶體中的資料就沒有了,自然檔案就小了。

RDB和AOF與刪除機制壓根沒關係,他們只是持久化的方式而已。

PHPzhong

自己在建立鍵值的時候設定過期時間,還可以用指令刪除指定鍵,都可以,重新啟動也可以刪除redis儲存記憶體的資料

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板