最近在redis中使用setbit遇到了一个问题。由于我使用 redis 作为存储的 bloomFilter 部分,2 亿条数据需要 380MB 内存才能达到 99.99% 的准确率。每天需要删除bloomfilter的redis key,重新创建一个,但是发现日志很慢,而且这可能会影响到产品环境中的其他服务。 Counld 任何人都可以更好地建议如何禁止这种情况?非常感谢~
根据命令成本(毫秒):
DEL bloomFilterKey
use(microseconds):83886
最佳答案
释放大量内存,即 380MB,花费太多时间,并阻塞 Redis。
为了避免这种情况,您可以将 Redis 升级到 4.0
版本,并使用新命令 UNLINK
删除 key 。此命令释放不同线程中的内存,并且不会阻塞 Redis。
关于redis del操作导致日志慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48314650/