您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
02 redis 訂閱發布 可靠嗎(java服務redis重啟后需要重啟嗎)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-06-21 18:47:07【】7人已围观
简介>當發布者向某個頻道發布消息時,就會遍歷pubsub_channels找到訂閱該頻道的客戶端列表,依次向這些客戶端發送消息。然后遍歷pubsub_patterns找到符合當前頻道的模式,同時找到模式對
當發布者向某個頻道發布消息時,就會遍歷 pubsub_channels 找到訂閱該頻道的客戶端列表,依次向這些客戶端發送消息。
然后遍歷 pubsub_patterns 找到符合當前頻道的模式,同時找到模式對應的客戶端,然后向客戶端發送消息。
雖然Redis提供了發布/訂閱的功能,但是并不完善,導致基本沒有合適的場景能夠使用。
PubSub缺點:
直到Redis5.0出現之后,出現了Stream這種數據結構,才終于完善了Redis的消息機制 。
Stream實際上就是一個消息列表,只是他幾乎實現了消息隊列所需要的所有功能,包括:
同時需要注意的是Stream只是一個數據結構,他不會主動把消息推送給消費者,需要消費者主動來消費數據 。
每個Stream都有唯一的名稱,它就是Redis的key,首次使用 xadd 指令追加消息時自動創建。
常見操作命令如下表:
如果客戶端希望知道自身消費到第幾條數據了,那么就需要記錄一下當前消費的消息ID,下次再次消費的時候就從上次消費的消息ID開始讀取數據即可。
消費組中多了一個游標 last_delivered_id ,表示當前消費到了哪一條數據。同時所有的數據都是待處理消息( PEL ),只有消費者處理完畢之后使用 ack 指令告知redis服務器,數據才會從 PEL 中移除,確認后的消息就無法再次消費。
如果接收到的消息比較多,為了避免Stream過長,可以選擇指定Stream的最大長度,一旦到達了最大長度,就會從最早的消息開始清除,保證Stream中最新的消息。
java服務redis重啟后需要重啟嗎
Java服務不需要重啟,當Redis重啟后,Java應用程序會自動重新連接到Redis。這是因為Java應用程序中的Redis客戶端會自動嘗試重新建立連接。在Redis重啟后,客戶端會向Redis發送PING命令,如果連接成功,則Redis會返回PONG響應,Java應用程序會收到這個響應并繼續執行。如果連接失敗,則客戶端會嘗試重新連接,直到連接成功或達到最大連接嘗試次數。
需要注意的是,在Redis重啟后,可能會出現一段時間無法訪問Redis的情況,因為Redis需要重新加載數據到內存中。如果Java應用程序需要立即訪問Redis,可以通過設置Redis的持久化配置參數來避免這種情況。另外,如果Java應用程序中有使用Redis的緩存數據,建議設置緩存過期時間,以避免緩存數據過期后無法及時更新的情況。
很赞哦!(5623)
相关文章
- 02 廣西一祺貿易有限公司(廣西中投物美為什么被執行)
- 01 社交媒體營銷的理論基礎(社交媒體營銷三種方式)
- 02 廣西創同進出口貿易(未來,桂林會不會重新成為廣西首府?)
- 01 社交媒體的好處與壞處 雅思 作文(雅思寫作:網絡取代面對面交流是好還是壞)
- 02 廣西國際貿易學校分數線(廣西外國語學院各項費用)
- 02 廣西合發興貿易有限公司在南寧(誰有杭州臨平所有建筑、市政公司的通訊錄?高分懸賞!)
- 02 廣西中醫藥大學附屬瑞康醫院買粉絲(解讀:南寧人無償獻血可享受的“三免獎勵”是啥?)
- 02 廣州馳朗國際貿易有限公司(板材十大品牌有哪些)
- 02 廣西與東盟進出口貿易數據(云南苦等的機會已經降臨!泛亞鐵路大通道或將瓦解廣西出海口優勢)
- 02 廣西國際貿易學院是三本還是專科(小語種專業問題-南職、廣西民族大學)