如何正确地在mongoose分布model,朋友,在线,能最快的查询和更新在线列表
发布于 1年前 作者 zhiyishou 643 次浏览

我有两种想法: 一、在朋友里加个friends model里,有主人_id,朋友_id,online:boolean,每当我上线时,我更新所有朋友_id为我的_id的文档online为true,然后在别人上线时,查找主人_id与其对应的所有文档,并可获得是否在线内容,但是这里面就有了大量的重复,两个人之间为朋友关系至少存在两条数据,感觉这种方法有点冗余。 二、创建一个online model,只要上线就添加到online里,friends里,有user_1_id,user_2_id,用user_1_id查找一遍符合我的_id的文档,再用user_2_id查找一遍符合我的_id的文档,两者加起来是我总共的朋友,再用for in语句使每个在朋友在online里遍历一便,找是否有该用户,然后也获得了在线数据,这种方法感觉对数据库的操作量太大了,会不会影响速度神马的。

本人小白,还请前辈贡献一点经验,实再是乱了头绪了,还有,如果下线的话怎么处理

2 回复

pub/sub 事件式的处理

恩,现在正在学习redis,感觉刚接触,很新奇的样子

回到顶部