gpt4 book ai didi

ruby - redis batsd (statsd) 计数器

转载 作者:IT王子 更新时间:2023-10-29 06:01:24 29 4
gpt4 key购买 nike

我使用 batsd (使用 statsd )库与 jeremy/statsd-ruby我的 ruby​​ web 应用程序 (rails) 的客户端。而且我必须保持简单的访问统计。伟大的!我用 statsd.increment('users.visits')来自上述 gem 的方法。

然后我注意到,这个操作一次创建了新的sorted set ( zset ) 并每次添加一个元素(看起来像 "1338932870<X>1 )。为什么 statsd使用这种方法?使用 HINCRBY 不会更容易和更快使用 simlpe 哈希的方法(不是 zaddzset )?

我知道,statsd是很好的知名仪器,但我想知道,它是 redis 中的计数器标准模式吗?我是 redis 和 nosql 的新手,谢谢!

最佳答案

我不熟悉这个包,但如果你只是使用 HINCRBY,你将只计算指标的最后一个值并将其保存在 Redis 中。我想统计包可能需要存储指标的演变(以便随时间绘制图表或类似的东西)。

使用 zset 是一种存储按时间戳排序的事件(即时间序列)的方法,因此可以保留该指标的演变历史。它比只保留最后一个值更慢并且消耗更多的内存,但你有历史。有关完整故事,请参阅下面诺亚的评论。

使用HINCRBY或INCRBY实时聚合计数器,使用zset存储时间序列是两种常见的Redis模式。

关于ruby - redis batsd (statsd) 计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10906332/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com