我正在寻找使用模式。对于每一个请求,我将采取相应的第二天,并标记一个条目。最后我会看到这个使用模式。在redis中执行此操作的最佳结构是什么?如何在redis中存储每秒数据
1
A
回答
2
你可以将其存储在三个方面:
1)setbit操作在一个关键
存储可以使用setbit操作如果频率是非常高的。这就是说,如果你标记几乎所有秒,那么你必须在那里存储86400个值。但这很难以0.1 Mb来存储。 即使您在第86400秒只存储一个条目,那么您也必须忽略该0.1 Mb。但它总是固定的大小为0.1 Mb。另外要注意的是,你可以把整个东西当作一个字符串,并且你必须将它们转换为一些位。
setbit date second
get date
2)设置
您可以使用组如果频率有点低。所以只有请求出现的秒数才会在你的设置中。
Sadd date second
smembers date
3)散列
您可以使用哈希值,如果想知道每一秒计数。
Hincrby date second 1
hgetall date
还对所有这些做一个样本测试,并比较大小和效率。
0
我会使用一个哈希组按天。
// Set the counter to 0 if it doesn't exist.
HSETNX [DAY] [SECOND] 0
// Increment the counter by 1 each request
HINCRBY [DAY] [SECOND] 1
然后使用HKEYS
或HSCAN
,让您的结果。
+0
如果我没有在第二次进入请求,我该如何做hsetnx? Hincrby本身就足以进行这项手术吗? –
相关问题
- 1. redis如何存储数据
- 2. redis-store如何将房间数据存储在redis中?
- 3. Redis - 如何存储我的数据?
- 4. 将复杂数据存储在redis中
- 5. 如何在Redis缓存中存储ArrayList?
- 6. 如何将对象数据存储在nodejs restis中的redis中
- 7. 如何打印存储在redis中的列表中的数据?
- 8. 在数据库中存储秒 - Rails
- 9. 如何在redis中使用散列存储此数据
- 10. 如何命名和存储我的数据集在redis中?
- 11. 如何在数据库中存储秒数?
- 12. Redis在哪里存储数据
- 13. 如何将此存储在Redis中?
- 14. 如何在Redis中存储值列表?
- 15. 在redis中如何存储键值对?
- 16. 如何在redis中存储JSF会话?
- 17. 将数据存储在Redis和/或关系数据库中
- 18. 如何使用node.js将注册数据存储到redis中
- 19. 如何使用redis存储数据表中的密钥
- 20. 使用redis存储每小时数据的最佳方法
- 21. 如何在redis中存储复杂对象(使用redis-py)
- 22. Nodejs + Passport.js + Redis:如何在Redis中存储会话
- 23. 在redis中存储二维数组
- 24. Redis数据库存储限制和HA
- 25. 如何在数据库中存储每周时间可用性?
- 26. 如何每24小时在数据库中存储值php cronjob
- 27. 如何在Spring会话中存储每个用户的数据?
- 28. 如何在MySQL中每天存储数据?
- 29. 如何在数据库中存储每月运行的服务?
- 30. 每周计划 - 如何将其存储在数据库中?
感谢您的回答。我想我会选择第一个解决方案。在如何在redis中一次获取所有位值之间。我看到的只是getbit命令。 –
http://grantmuller.com/be-careful-with-your-redis-bitsets-and-java/ –
您必须获得结果作为日期,并且必须将它们转换为应用程序逻辑中的相应位。以上链接将帮助您达到相同的效果。 –