1、八大記憶體淘汰機制
1)、直接回傳錯誤,不洗掉任何鍵
2)、洗掉過期鍵
3)、隨機洗掉redis鍵
4)、隨機洗掉快過期鍵
5)、根據lru演算法洗掉redis鍵
6)、根據lru演算法洗掉要過期redis鍵
7)、根據lfu演算法洗掉redis鍵
8)、根據lfu演算法洗掉快要過期redis鍵
2、熱key問題
由于該key存盤的資料過于熱點,經常被訪問,導致redis掛機,解決方法:將該資料集群或者快取到本地記憶體中,
3、快取穿透,快取擊穿,快取雪崩
快取穿透指查詢的資料在redis中不存在、在資料庫中也不存在,導致查詢每次都要查資料庫然后回傳,解決為布隆過濾器,
快取擊穿指大量請求在請求這個資料,該資料失效的瞬間,導致大量請求打到資料庫上,解決為設定永不過期,
快取雪崩指大量過期鍵過期,導致大量請求打到資料庫上,解決為合理設定過期時間,
4、redis的幾種模式
1)、單機模式:就是一臺redis
2)、集群模式:多臺redis
3)、哨兵模式:哨兵監控redis
4)、主從復制:主為寫,從為讀
5、哨兵選舉的程序
第一個發現領頭哨兵掛了的哨兵就會向其他哨兵發送命令讓他們選擇自己成為零頭哨兵,沒有選舉他人的哨兵會將票投給這個哨兵,當這個哨兵發現票數超過設定值,那么它將成為領頭哨兵,
如果多個哨兵參與選舉,就會重復上述程序,直到選舉成功,
6、集群的故障恢復
有ABCDE五個master,當A向B發送ping,B沒有回復,并且一直沒有回應,此時,A就會向其他master發送它認為B下線的意見,其他master收到意見后,開始ping B,如果超過半數或者設定的引數都認為B下線了,那么B將會被剔除集群,反之,B將繼續存在,
7、主從復制的原理
從機將會發送SYNC命令到主機,主機收到命令將快照保存,再將快取命令和快照一起打包到從機,從機收到之后,將快照寫入到磁盤臨時檔案,寫入完成后并替換到快照,
8、過期策略
1)、定時過期:設定過期時間時創建一個定時器,到期則自動清除
2)、惰性過期:只有訪問到這個key,才會判斷是否過期
3)、定期過期:每隔一段時間就會掃瞄一定量的key,過期則清除
9、持久化策略
1)、AOF,redis每秒將命令寫入aof檔案中,不包括讀命令,所以,檔案會比較大,比較消耗資源,但是如果redis掛機,只會丟失一秒的資料,不適合做備份,適合做容災恢復,
2)、RDB,redis每隔一段時間和資料變化情況將資料寫入rdb檔案,檔案較小,適合做備份,但是容易丟失大量資料,默認是RDB
10、主節點選舉機制
1)、過濾故障的節點
2)、優先級slave-priority最大的為主節點
3)、偏移量,資料量的位元組,主服務器會將偏移量發送給從服務器,主從偏移量一致則為資料一致,最大的從節點作為主節點
4)、runid,生成的runid最小則為主節點
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/454671.html
標籤:架構設計
下一篇:結構型:六. 組合模式
