我正在使用python在redis中以5分钟的间隔递增计数器,执行代码的速度相当重要。我将拥有一个排序后的集合,如下所示:
1:30 incr 1:35 incr ...其中incr是该5分钟间隔之间的命中计数。
假设我在下午1:32,我希望将1:30到1:35之间的所有命中率都放在该存储桶中。
天真地,我可以遍历一个列表,检查分钟是否在30和35之间,并将其放在1:30存储桶中。有没有更好的方法来做到这一点呢?
发布于 2012-03-27 12:11:25
from redis import Redis
r = Redis(db=1)
r.flushdb()
def store(t):
h, m = map(int, t.split(':'))
m = m - m % 5
r.zincrby('tc', '%d:%02d' % (h, m), 1)
store('1:02')
store('1:30')
store('1:32')
store('1:35')
print r.zrange('tc', 0, -1, withscores=True)输出:
[('1:00', 1.0), ('1:35', 1.0), ('1:30', 2.0)]https://stackoverflow.com/questions/9882322
复制相似问题