看過火丁筆記的那篇「使用Redis來實現訊息通知系統」的朋友幫忙講解下
伊谢尔伦
伊谢尔伦 2017-04-21 11:16:45
0
2
665

作者的原文鏈接:http://huoding.com/2012/02/29/146
redis初學者,輕噴,下麵可能很多錯誤,是我的大致理解:

他首先創建一個需要收到消息的用戶的隊列
再創建了一個有消息重要等級消息隊列
然後創建了一個用戶id和消息id關聯的隊列

然後他用redis命令行做演示:
首先創建了一個消息的hash表
然後創建了類似於上麵的用戶id和消息id關聯的集合
最後通過SORT模擬關聯查詢渠道消息內容

但是這些內容我用PHP數組 mysql也能實現啊?
為什麼要用redis呢?
到底優勢在哪裏呢?
為什麼redis適合於這樣的場景呢?
消息發送完畢之後又如何做持久化存儲呢?
說明的越詳細越好,謝謝了。

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回覆(2)
左手右手慢动作

你用MYSQL當然也可以實現,但是
1.資料操作上,redis(應該是NOSQL)就是比常規的MYSQL快。因為MYSQL處理資料要經過很多過程,像是SQL解析等等
2.redis支援多種資料結構,例如文中提到的有序集zSet,列表list.一個軟體原生就提供了,你不用自己去實現這些資料結構,節約你的時間。
3.Redis本身支援持久化存儲,如果擔心遺失,那就備份一個到MYSQL裡.
4...其他的自己慢慢體會,最好邊用邊琢磨

PHPzhong

資料庫的選擇要和你的需求掛鉤,如果你的消息推送每條就幾百幾千條,用redis的優勢的確看不到,但如果推送消息數到了百萬級、千萬級時,redis的優勢就會很明顯。

同樣是排序,冒泡和快排的差距是如何體現出來的呢?演算法和資料結構在輸入規模很大的情況下,其意義就會反映出來了。

關於redis的一切,就去google吧

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板