1. 程式人生 > 實用技巧 >與Redis的第一次“親密接觸”--使用Redis+SSM搭建簡易聊天室

與Redis的第一次“親密接觸”--使用Redis+SSM搭建簡易聊天室

初衷

最近在寫一個專案的時候,需要編寫一個私信系統,因為之前沒有相關的經驗,所以沒法直接在專案上動工。經過思索後,決定選用Redis作為技術支撐來研究如何實現,因此想到先做一個聊天室來練練手。

完成圖

使用者聊天前需要輸入使用者名稱。

聊天介面將自己發的和別人發的區分開來。

實現思路

群聊和私信系統是有些不同的。

對於私信系統來說,通訊是發生在兩個使用者之間,因此勢必要為每對使用者,甚至是每個使用者建立一個相應的你選擇用來儲存資訊Message的資料結構(List或其他的)。

而群聊比私信少一點,因為所有的使用者可以共享一個訊息池(Message)。

起初,我考慮使用Redis的釋出訂閱來做,但後來由於種種原因放棄了。因此最後選擇使用Redis的List

來做。

開發的難點

在我選定了使用List做儲存這個訊息池的資料結構以後,我就開始思考具體的實現過程,後來發現也是有許多小坑的。

如何確保使用者不漏掉其他使用者發的資訊

在系統執行的過程中,List中的內容是不斷變化的。比如說我當前獲取到了最新的訊息,那麼如果其他使用者互動的很熱烈,我是否會因為一些原因錯過一些訊息呢,顯然,如果設計的不當,一定會錯過,這想來是無法接受的