performance - 使用 Redis 跟踪在线用户的 2 种方法。哪个更快?

标签 performance comparison redis

最近我发现了一篇不错的博文,介绍了在 Redis 的帮助下跟踪网站在线用户的两种方法。

1) 智能 key 和设置它们的到期时间 http://techno-weenie.net/2010/2/3/where-s-waldo-track-user-locations-with-node-js-and-redis

2) 集合-s 和相交 http://www.lukemelia.com/blog/archives/2010/01/17/redis-in-practice-whos-online/

你能判断哪个应该更快吗?为什么?

最佳答案

要了解特定用户是否在线,第一种方法会快得多 - 没有什么比读取单个 key 更快。

在特定页面上查找用户并不那么清楚(我还没有看到有关交集或通配符键性能的硬数据),但如果该集合大到足以在任一实现中引起性能问题,则不是无论如何都可以显示它们。

为了将用户匹配到好友列表,我可能也会采用第一种方法——即使是几百个 get 操作(检查列表中每个人的状态),如果这些集合有大量的记录且难以维护。

Redis 集合更适用于无法使用键完成的事情,特别是在获取集合中的所有项目比检查特定项目是否在集合中更重要的情况下。

关于performance - 使用 Redis 跟踪在线用户的 2 种方法。哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2644021/

相关文章:

php - 比较日期 mysql php

comparison - EJB 3.1 或 Spring 3.. 什么时候选择哪一个?

performance - 数据库规范化设计——单表或多表

Javascript 从数组中删除对象的最快方法

java - 如何加快java.net.ServerSocket和java.net.Socket效率?

caching - Redis 与硬件缓存

node.js:从主集群控制

c# - 将数据存储在程序中或文档文件中有区别吗?

javascript - 如何在 JavaScript 中评估第一个 "Who' 上的 ?"as being equal to "s?

redis - StackExcange.Redis.RedisTimeoutException异常