我使用redis来获取在线用户我只是想检查一些用户是否在线
首先将用户添加到在线
sadd online_users user_a
(integer) 1
检查user_a是否在线
sismember online_users user_a
(integer) 1
我的问题是如何检查多用户是否在线
添加soem用户
sadd online_users user_a
(integer) 1
sadd online_users user_b
(integer) 1
sadd online_users user_c
(integer) 1
现在我想检查三个用户是否在线
sismember online_users {user_a,user_b,user_c}
我不知道这是否正确,但我想要多用户检查返回数据,例如 {0,1,0} = {离线、在线、离线}
最佳答案
最好的方法是比较两组。
1 - 在第一个 redis 集合中保存你的“联系人”
添加联系人:your_id user_1 user_2 user_3 user_4
2-制作另一组所有连接的用户
SADD 已连接 user_1 user_2 user_3 user_6 user_78
然后使用命令 SINTER,它会给你这两组之间的交集,这意味着你所有的联系人都已连接
SINTER connected contacts:your_id
只记得保持集合“连接”的良好更新......这是另一回事了
希望这对您有所帮助。
关于redis sismember 检查多用户在线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37527762/