Redis備份及回收策略


Redis備份(持久化)

Redis備份存在兩種方式:

  • 1.一種是"RDB"。是快照(snapshotting),它是備份當前瞬間Redis在內存中的數據記錄;
  • 2.另一種是"AOF"。只追加文件(Append-Only File,AOF),其作用是當Redis執行寫命令后,在一定的條件下將執行過的寫命令依次保存在Redis的文件中,將來就可以依次執行那些保存的命令恢復Redis的數據。

對於快照備份而言,如果當前Redis數據量大,備份可能會造成卡頓,但是恢復重啟比較快速。

對於AOF備份,則相反。

Redis內存回收策略

Redis也會因為內存不足而出錯,也可能因為回收過久而導致系統長期的停頓,因此需要執行回收策略。

Redis允許配置6種回收策略,在內存達到最大時,將會淘汰鍵值,並進行回收。

# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
# is reached. You can select among five behaviors:
# 
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key according to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations

內存回收策略如下:

volatile-lru :采用LRU算法(最近最少使用算法),但是只淘汰超時的鍵值對。
 allkeys-lru :采用LRU算法,淘汰鍵值對。
 volatile-random :采用隨機淘汰策略,但是只淘汰超時的鍵值對。
 allkeys-random :采用隨機淘汰策略,淘汰鍵值對。
 volatile-ttl  :采用TTL算法(生存周期),淘汰存活時間最短的鍵值對。
 noeviction :不淘汰任何鍵值對,內存已滿時,進行寫操作返回錯誤。

 

參考資料:

《SSM框架和Redis實現》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM