最近,我在redis中使用setbit时遇到了问题。由于我使用redis作为商店的bloomFilter部件,2亿数据成本为380MB内存,准确率为99.99%。我每天都需要删除bloomfilter的redis密钥并创建一个新密钥,但发现日志缓慢,这可能会影响产品环境中的其他服务。如果有人提出更好的建议怎么做才能禁止这个?很多〜
根据命令成本(ms):
DEL bloomFilterKey
use(microseconds):83886
答案 0 :(得分:3)
释放大容量内存,即380MB,耗费太多时间,并阻止Redis。
为了避免这种情况,您可以将Redis升级到版本4.0
,并使用新命令UNLINK
删除密钥。此命令在不同的线程中释放内存,并且不会阻止Redis。