我正在寫laravel應用程序,在那裏我想向當前用戶顯示頁面上的所有其他用戶。我可以在Redis中存儲這種類型的數據嗎?
我想使用Redis的存儲這類信息,因此,例如,當用戶訪問1
頁面/item/35
,然後Redis的必須保存這些信息:
{'/item/35': {1: last_visit_time_in_seconds}}
哪裏last_visit_time_in_seconds是unixtimestamp。
如果兩個額外的用戶訪問同一頁面,然後Redis的將包括:
{'/item/35': {1: seconds}, {12: seconds}, {2425: seconds}}
用戶ID爲1,12和2425現在正在查看此頁面。如果短時間內(如30秒)沒有更新{1: seconds}
,則必須從此項目緩存中刪除此項目。前端會定期更新緩存的狀態,所以這可以防止用戶關閉瀏覽器窗口。
在Redis中可能有更好的方式來存儲/獲取這種信息(從item
到具有上次訪問時間的用戶列表)。
谷歌存在渠道和websockets,它會幫助我猜 –
信息通過websockets無論如何交付。問題是關於如何將此信息存儲在後端。 –