我在 Redis 中保存了一个在线用户列表,一个键对应一个用户。 key 设置为在 15 分钟后超时,因此我要做的就是查看过去 15 分钟内有多少用户大致处于事件状态,我可以这样做:
redisCli.keys('user:*').count
问题是随着 key 数量的增加,在计算所有 key 之前获取所有 key 所需的时间显着增加。有没有一种方法可以在不必先获取所有 key 的情况下对 key 进行计数?
最佳答案
有一种方法可以直接索引 Set 或 Sorted Set 中的键,即使用新的 SCAN command .这取决于用例、内存/速度权衡以及所需的计数精度。
关于ruby - 计算 redis 键而不在 Ruby 中获取它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23719158/