??wei_shuo的個(gè)人主頁
??wei_shuo的學(xué)習(xí)社區(qū)
??Hello World !
Redis發(fā)布訂閱
Redis 發(fā)布訂閱 (pub/sub) 是一種消息通信模式:發(fā)送者 (pub) 發(fā)送消息,訂閱者 (sub) 接收消息
Redis 客戶端可以訂閱任意數(shù)量的頻道
Redis主從復(fù)制
Redis主從復(fù)制是指在Redis中設(shè)置一個(gè)主節(jié)點(diǎn)(Master)和一個(gè)或多個(gè)從節(jié)點(diǎn)(Slave),主節(jié)點(diǎn)將自己的數(shù)據(jù)復(fù)制到從節(jié)點(diǎn)上,從節(jié)點(diǎn)會(huì)自動(dòng)同步主節(jié)點(diǎn)上的數(shù)據(jù),以實(shí)現(xiàn)數(shù)據(jù)的備份和讀寫分離
- 數(shù)據(jù)備份和容災(zāi):通過主從復(fù)制,可以將主節(jié)點(diǎn)的數(shù)據(jù)復(fù)制到一個(gè)或多個(gè)從節(jié)點(diǎn)上,從而實(shí)現(xiàn)數(shù)據(jù)的備份和容災(zāi)。當(dāng)主節(jié)點(diǎn)發(fā)生故障或數(shù)據(jù)丟失時(shí),可以快速切換到從節(jié)點(diǎn),保證數(shù)據(jù)的可用性和持久性
- 負(fù)載均衡:通過將讀操作分?jǐn)偟蕉鄠€(gè)從節(jié)點(diǎn)上,可以減輕主節(jié)點(diǎn)的負(fù)載壓力。主節(jié)點(diǎn)專注于處理寫操作,而從節(jié)點(diǎn)處理讀操作,提高系統(tǒng)的整體性能和吞吐量
- 高可用性:主從復(fù)制可以提高系統(tǒng)的可用性。當(dāng)主節(jié)點(diǎn)發(fā)生故障時(shí),可以快速切換到從節(jié)點(diǎn),實(shí)現(xiàn)自動(dòng)故障轉(zhuǎn)移,減少服務(wù)中斷時(shí)間,提高系統(tǒng)的穩(wěn)定性和可靠性
- 數(shù)據(jù)分析和報(bào)表生成:通過將讀操作分?jǐn)偟綇墓?jié)點(diǎn)上,可以用于數(shù)據(jù)分析和報(bào)表生成。由于主節(jié)點(diǎn)專注于處理寫操作,從節(jié)點(diǎn)可以用于查詢和分析數(shù)據(jù),提供實(shí)時(shí)的數(shù)據(jù)分析和報(bào)表生成功能
- 高并發(fā)讀?。和ㄟ^將讀操作分?jǐn)偟蕉鄠€(gè)從節(jié)點(diǎn)上,可以提高系統(tǒng)的并發(fā)讀取能力。多個(gè)從節(jié)點(diǎn)可以同時(shí)處理讀請求,提高系統(tǒng)的并發(fā)處理能力,減少讀取的響應(yīng)時(shí)間
info replication | 獲取關(guān)于主從復(fù)制的相關(guān)信息 |
---|---|
slaveof ip port | 將當(dāng)前Redis節(jié)點(diǎn)設(shè)置為從節(jié)點(diǎn),并指定一個(gè)主節(jié)點(diǎn)進(jìn)行主從復(fù)制 |
slaveof no one | 命令用于將當(dāng)前Redis節(jié)點(diǎn)從從節(jié)點(diǎn)切換為獨(dú)立的主節(jié)點(diǎn),解除與主節(jié)點(diǎn)的連接 |
哨兵模式
哨兵模式是Redis提供的一種高可用性解決方案,用于監(jiān)控和管理Redis節(jié)點(diǎn)的自動(dòng)故障轉(zhuǎn)移
- 主觀下線:一個(gè)哨兵節(jié)點(diǎn)基于自己的主觀判斷,認(rèn)為一個(gè)Redis節(jié)點(diǎn)(主節(jié)點(diǎn)或從節(jié)點(diǎn))不可用的狀態(tài);當(dāng)一個(gè)哨兵節(jié)點(diǎn)檢測到一個(gè)節(jié)點(diǎn)無法響應(yīng)心跳或超時(shí)時(shí),它會(huì)將該節(jié)點(diǎn)標(biāo)記為主觀下線;主觀下線只是一個(gè)哨兵節(jié)點(diǎn)自己的看法,并不代表其他哨兵節(jié)點(diǎn)或客戶端也認(rèn)為該節(jié)點(diǎn)不可用
- 客觀下線:多個(gè)哨兵節(jié)點(diǎn)之間達(dá)成共識,認(rèn)為一個(gè)節(jié)點(diǎn)不可用的狀態(tài);當(dāng)多個(gè)哨兵節(jié)點(diǎn)通過消息通信交換信息后,如果它們都達(dá)成共識,認(rèn)為一個(gè)節(jié)點(diǎn)不可用,那么該節(jié)點(diǎn)將被標(biāo)記為客觀下線;客觀下線是基于多個(gè)節(jié)點(diǎn)的共識,具有更高的可靠性和準(zhǔn)確性
單哨兵模式
單哨兵模式(Single Sentinel mode)是哨兵模式的一種簡化形式,適用只有一個(gè)Redis主節(jié)點(diǎn)和一個(gè)哨兵節(jié)點(diǎn)的情況
多哨兵模式
多哨兵模式是哨兵模式的一種擴(kuò)展形式,適用于需要更高可靠性和容錯(cuò)性的情況
Redis緩存穿透與雪崩
緩存穿透
Redis緩存穿透(Cache Penetration):惡意請求或者非法請求繞過緩存層直接訪問數(shù)據(jù)庫。當(dāng)一個(gè)請求查詢一個(gè)不存在的數(shù)據(jù)時(shí),緩存層無法命中緩存,也無法從數(shù)據(jù)庫中獲取數(shù)據(jù),導(dǎo)致每次請求都訪問數(shù)據(jù)庫,增加數(shù)據(jù)庫的負(fù)載,并且無法獲得有效的緩存
布隆過濾器
所有可能的查詢參數(shù)以hash形式存儲(chǔ),不符合則丟棄,避免對底層存儲(chǔ)系統(tǒng)的查詢壓力
緩存空對象
存儲(chǔ)層不命中后,即使返回的空對象也將其存儲(chǔ),并設(shè)置過期時(shí)間,之后再訪問這個(gè)數(shù)據(jù)將會(huì)從緩存中獲取,保護(hù)后端數(shù)據(jù)源
緩存雪崩
Redis緩存雪崩(Cache Avalanche):緩存中的大量數(shù)據(jù)同時(shí)過期或者緩存服務(wù)器宕機(jī),導(dǎo)致大量請求直接訪問數(shù)據(jù)庫,造成數(shù)據(jù)庫瞬時(shí)壓力過大,甚至引起數(shù)據(jù)庫崩潰
解決方案:
- 高可用:系統(tǒng)能夠在長時(shí)間運(yùn)行過程中保持正常的運(yùn)行狀態(tài),即系統(tǒng)具備持續(xù)穩(wěn)定可用的能力。在高可用系統(tǒng)中,系統(tǒng)的服務(wù)能夠始終對外提供服務(wù),不會(huì)因?yàn)閱吸c(diǎn)故障或異常情況而導(dǎo)致系統(tǒng)不可用
- 限流降級:限流降級是一種在系統(tǒng)高負(fù)載或異常情況下,通過限制請求的訪問量或降低服務(wù)質(zhì)量,保證系統(tǒng)的穩(wěn)定性和可用性的策略
- 數(shù)據(jù)預(yù)熱:系統(tǒng)低峰期或緩存數(shù)據(jù)過期前,提前主動(dòng)加載緩存數(shù)據(jù),使其重新生成或刷新緩存,避免大量請求同時(shí)落到數(shù)據(jù)庫上
?? 結(jié)語:創(chuàng)作不易,如果覺得博主的文章賞心悅目,還請——
點(diǎn)贊
??收藏
??評論
??文章來源:http://www.zghlxwxcb.cn/news/detail-612233.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-612233.html
到了這里,關(guān)于Redis數(shù)據(jù)庫 | 發(fā)布訂閱、主從復(fù)制、哨兵模式、緩存雪崩的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!