我是Redis的新手,我不确定在这种情况下使用哪种最佳数据结构。
每个用户都会发送一个心跳(每5秒钟)说他们仍然在线。
存储的数据是userID和日期/时间。
以前在Memcached中,我只会为每个用户存储一个字符串 - 比如userid-active,datatime作为值。
但我知道我需要同时查询所有活动用户数据,并想知道存储它的最佳方法是什么。 (也许是数组结构)。
任何建议都会非常受欢迎。
三江源
答案 0 :(得分:0)
如果使用排序集,则可以获取活动用户的时间间隔。最新的小时,一天等。
ZADD active_users [user-id] [timestamp]
要在一小时内获取有效的用户:
ZREVRANGEBYSCORE active_users +inf [currtime]-3600