我正在写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无论如何交付。问题是关于如何将此信息存储在后端。 –