網(wǎng)站建設發(fā)展方向國外獨立網(wǎng)站如何建站
前言
Redis 是一款內(nèi)存級的數(shù)據(jù)庫,憑借其卓越的性能,幾乎成為每位開發(fā)者的標配工具。
雖然 Redis 包含大量需要掌握的知識,但其中的熱點知識并不多。今天,『知行』就和大家分享一些 Redis 中的熱點知識。
Redis 數(shù)據(jù)結構
Redis 中常用的數(shù)據(jù)結構大致可分為兩類:
- 核心類型:String、Hash、List、Set、Zset(Sorted Set)
- 擴展類型:Bitmap、Geospatial、Streams、HyperLogLog
鍵過期策略
Redis 中的鍵過期策略主要用于處理設置了過期時間(TTL)的鍵的自動刪除,確保內(nèi)存資源合理利用。
在 Redis 中,鍵過期策略包括兩種:
- 惰性刪除:訪問鍵時檢查是否過期
- 定期刪除:后臺定期檢查鍵是否過期
鍵驅(qū)逐策略
Redis 的鍵驅(qū)逐策略用于在內(nèi)存達到限制時決定哪些數(shù)據(jù)應該被刪除。
常見的 Redis 鍵驅(qū)逐策略包括:
- noeviction(默認):不刪除鍵,直接拒絕寫入操作(返回錯誤);
- allkeys-lru:從所有鍵中,刪除 最近最少使用 的鍵;
- allkeys-lfu:從所有鍵中,刪除 最不頻繁使用 的鍵;
- allkeys-random:從所有鍵中,隨機刪除 鍵;
- volatile-lru:從設置了過期時間的鍵中,刪除 最近最少使用 的鍵;
- volatile-lfu:從設置了過期時間的鍵中,刪除 最不頻繁使用 的鍵;
- volatile-random:從設置了過期時間的鍵中,隨機刪除 鍵;
- volatile-ttl:從設置了過期時間的鍵中,刪除 剩余生存時間最短 的鍵;
主從全量同步
Redis 主從全量同步是當從節(jié)點首次連接或數(shù)據(jù)差異過大時,主節(jié)點生成 RDB 快照并傳輸給從節(jié)點的過程。
全量同步雖然保證數(shù)據(jù)完整,但資源消耗較大,需要調(diào)整積壓緩沖區(qū)大小、啟用無盤復制等方式優(yōu)化。
主從增量同步
Redis 增量同步是指在主從復制中,主節(jié)點僅將數(shù)據(jù)的增量部分同步給從節(jié)點。
增量同步是 Redis 主從復制的核心優(yōu)化,通過緩沖區(qū)緩存寫命令,可實現(xiàn)高效斷連恢復。
持久化機制
Redis 持久化機制指的是將內(nèi)存中的數(shù)據(jù)保存到磁盤中,以便在其重啟或故障時保留數(shù)據(jù),防止數(shù)據(jù)丟失。它提供了兩種主要的持久化機制:
- RDB(Redis DataBase):快照
- AOF(Append Only File):日志追加
此外,還有兩者結合的 混合持久化(Redis 4.0+)
知行有話
本期的分享到此結束啦!如果大家認為 Redis 中還有哪些比較熱點的知識點沒有提及到,歡迎在評論區(qū)留言哦~