亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

flask - web消息通知中,如何用輪詢r(jià)edis來(lái)代替輪詢數(shù)據(jù)庫(kù)?

瀏覽:47日期:2023-08-24 15:17:57

問(wèn)題描述

我想在自己的flask應(yīng)用中實(shí)現(xiàn)簡(jiǎn)單的消息通知功能,例如管理員向全體用戶發(fā)公告,或者想某個(gè)用戶發(fā)出提醒等功能。

可是在實(shí)現(xiàn)過(guò)程中遇到了一個(gè)難題,情況具體描述如下:

我使用sse機(jī)制來(lái)使服務(wù)器向客戶端發(fā)送消息,可是這里出現(xiàn)了問(wèn)題,就是發(fā)送消息的模塊并不知道什么時(shí)候應(yīng)該發(fā)送消息,例如當(dāng)用戶A評(píng)論了用戶B的博客時(shí),這時(shí)就需要通知用戶B,我們此時(shí)需要通知發(fā)送模塊:“你該向B發(fā)送消息了”,如何通知發(fā)送模塊呢?

我想到的就是輪詢數(shù)據(jù)庫(kù),但是感覺(jué)這樣太考驗(yàn)服務(wù)器的抗壓了,百度到說(shuō):每當(dāng)對(duì)應(yīng)的數(shù)據(jù)表更新,就產(chǎn)生一個(gè)消息到Redis中,然后輪詢Redis。

這樣聽起來(lái)挺好,可是在實(shí)現(xiàn)中遇到了很多問(wèn)題:

例如:(1)redis是key-value存儲(chǔ),當(dāng)管理員既要給A發(fā)消息,又要給B,C等發(fā)消息,此時(shí)用key該如何區(qū)分?

(2)假設(shè)現(xiàn)在要給用戶B發(fā)消息,那么會(huì)產(chǎn)生對(duì)應(yīng)的消息存儲(chǔ)在redis中,如果此刻 用戶B并未登錄呢,難道用戶B一周不登錄,該消息就會(huì)在redis中一周嗎? 【我對(duì)redis不太了解,知道是在緩存中存儲(chǔ),所以感覺(jué)不可能在緩存中能存儲(chǔ)一周】

思考兩三天了,望各位前輩能夠指點(diǎn)一二

問(wèn)題解答

回答1:

redis pub/sub 訂閱/推送 ,是否考慮過(guò)使用這樣或者更高級(jí)的消息隊(duì)列中間件呢。

基本邏輯是這樣的,消息是需要緩存在數(shù)據(jù)庫(kù)或者其他nosql的。拆分出消息中心,使用redis的pub/sub體系或者list,其他需要發(fā)送消息的通過(guò)redis通知消息中心發(fā)送消息。消息中心檢查用戶是否在線,在線直接發(fā)送消息給用戶(通過(guò)websocket之類的,sse也可以),并標(biāo)記已讀用戶在線是拉取全部未讀消息無(wú)論在不在線消息都要入庫(kù)。。。由于redis的value是字符串,要區(qū)分用戶,你只要、value是個(gè)json字符串就好了。

{ 'target':['a','b'], 'message':'我是要發(fā)送給用戶a和b的消息'}回答2:

key 放消息類型value放業(yè)務(wù)數(shù)據(jù),比如序列化以后的dict,想要什么放什么,放多少都行,到時(shí)候取出來(lái)反序列化就可以直接用了

標(biāo)簽: web
主站蜘蛛池模板: 亚洲第一免费 | 亚洲人人草 | 在线婷婷 | 亚洲xx在线 | 日本亚洲欧美在线 | 亚洲主播 | 久久久久久久综合 | 亚洲综合精品香蕉久久网97 | 色婷婷激婷婷深爱五月老司机 | 国产视频一二三区 | 亚洲精品久久一区二区无卡 | 香蕉视频性 | 三级毛片在线 | 国产视频手机在线 | 欧美日韩色视频 | www.国产视频 | 欧美黑人两根巨大挤入 | 国产高清不卡一区二区三区 | 国产人碰人摸人爱免费视频 | 欧洲1区二区三区二页 | 午夜性刺激片免费观看成人 | 精品91自产拍在线观看99re | 国产高清免费在线 | 成年黄色网 | 国产精品亚洲精品一区二区三区 | 特级毛片免费视频播放 | 精品国偷自产在线不卡短视频 | 中文字字幕码一二三区 | 老外黑人欧美一级毛片 | 中国一级特黄特级毛片 | 亚洲精品午夜一区二区 | 国产亚洲青色国产 | 成年午夜性视频免费播放 | 1314亚洲人成网站在线观看 | 手机看片在线精品观看 | heyzo北条麻妃中文字幕 | xvideos永久免费入口 | 日本v片免费一区二区三区 日本wwwwwxxxxx | 热99re国产久热在线 | 黄色一级片免费观看 | 日本成人一区二区三区 |