如何用 Redis 構建一個簡單的聊天應用?
如何使用 Redis 構建一個簡單的聊天應用程序?
下圖展示了我們如何利用 Redis 的 pub-sub 功能來開發聊天應用程序。
第 1 階段:連接初始化
-
第 1 和 2 步:Bob 打開聊天應用程序。在客戶端和服務器之間建立 Web Socket 連接。
-
第 3 和 4 步:pub-sub 服務器會與 Redis 建立多個連接。其中一個連接用於更新 Redis 數據模型並向主題發佈消息。其他連接用於訂閱和監聽主題的更新。
-
第 5 和 6 步:Bob 的客戶端應用程序需要聊天成員列表和歷史消息列表。這些信息將從 Redis 中檢索併發送到客戶端應用程序。
-
第 7 和 8 步:由於 Bob 是加入聊天應用程序的新會員,因此會向 “member_add”(添加會員)主題發佈一條消息,這樣聊天應用程序的其他參與者就能看到 Bob。
第二階段:消息處理
-
第 1 步:Bob 在聊天應用程序中向 Alice 發送信息。
-
第 2 步:調用 “zadd” 將新聊天信息添加到 Redis SortedSet 中。聊天信息根據到達時間排序。然後,pub-sub 服務器會將聊天信息發佈到 “messages ” 主題,以便訂閱者接收。
-
第 3 步:Alice 的客戶端程序接收來自 Bob 的聊天信息。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/Lo0tVaUrItBm9oc6JIxWjw