问题描述
为了知道特定用户是否在线,第一种方法会快很多-没有什么比读取单个键快。
在特定页面上查找用户并不清楚(我还没有看到关于交集或通配符性能的硬数字),但是如果集合足够大而在任一实现中都导致性能问题,则显示不实际他们反正。
为了将用户匹配到好友列表,我可能还会采用第一种方法- 如果那些集合具有大量记录并且在多个集合上进行匹配,那么即使是数百个get操作(检查列表中每个人的状态)也应优于多个集合的交集。难以维护。
Redis集更适合用键无法完成的事情,尤其是在获取集合中的所有项目比检查集合中是否有特定项目更为重要的情况下。
解决方法
最近,我发现一篇不错的博客文章,介绍了在Redis的帮助下跟踪网站在线用户的2种方法。
1)智能键并设置其过期时间 http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-
locations-with-node-js-and-redis
2)设置和相交 http://www.lukemelia.com/blog/archives/2010/01/17/redis-in-practice-
whos-online/
您能判断哪个应该更快,为什么?