关于codis中的key的模糊查询和批量删除的问题
@goroutine 你好,想跟你请教个问题:
我们想使用codis作为我们的生产环境系统,存放超过亿级的key。但是发现一个问题,如果我需要对key进行维护,涉及到需要进行批量删除,比方,我要将 aaa开头的key数据全部删除掉,怎么去实现比较好呢?我阅读参考文档,codis是不支持keys指令的。
求教~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
好像没能解决?
@goroutine 是否可以支持keys命令
假设方案:
1、可以在发出keys命令后,轮询每台机器上的key,找出分布在这些机器上abc:*开头的所有key?
2、或者能通过proxy拿到所有的机器,就像直接操作每台机器的redis一样?
我这边的情况是,如果后台更新了某些数据,但是这批数据是分散在多个abc:*的key中的,需要把这些key查出来并更新掉,但是codis不支持keys命令的,有好的方案没!?
您好,感谢回复!
我们现在是没有对coids的keys进行处理。现在我们预计运行起来会出现这个问题。
比方,我们要定期维护存放在codis中的数据,比方生产环境的codis中存放100G的数据,要定期将 aaa开头的key删除掉,或者定期将 bbb开头的key对应的value进行更新,那么这个需求就没有办法做了。
或者可以采用什么方式实现?
请教~~
在业务上,我也遇到了批量删除key的问题,譬如有若干个abc:*开头的key,里面存储了不同的数据,需要查出来,更新掉!如何处理?
嗯,codis不支持keys指令。可否简单介绍下你们现在是怎么处理keys问题的。如果完全按照redis的语意来现实会阻塞整个系统。线上环境也不允许使用该指令。你说的这种情况看看redis的LRU选项是否能满足你的需求。