关于codis中的key的模糊查询和批量删除的问题

uubody 发布于 2015/07/21 16:03
阅读 4K+
收藏 0

@goroutine 你好,想跟你请教个问题:

我们想使用codis作为我们的生产环境系统,存放超过亿级的key。但是发现一个问题,如果我需要对key进行维护,涉及到需要进行批量删除,比方,我要将 aaa开头的key数据全部删除掉,怎么去实现比较好呢?我阅读参考文档,codis是不支持keys指令的。

求教~~

加载中
0
goroutine
goroutine

嗯,codis不支持keys指令。可否简单介绍下你们现在是怎么处理keys问题的。如果完全按照redis的语意来现实会阻塞整个系统。线上环境也不允许使用该指令。你说的这种情况看看redis的LRU选项是否能满足你的需求。

sohoku
sohoku
在业务上,我也遇到了批量删除key的问题,譬如有若干个abc:*开头的key,里面存储了不同的数据,需要查出来,更新掉!如何处理?
0
u
uubody

您好,感谢回复!

我们现在是没有对coids的keys进行处理。现在我们预计运行起来会出现这个问题。

比方,我们要定期维护存放在codis中的数据,比方生产环境的codis中存放100G的数据,要定期将 aaa开头的key删除掉,或者定期将 bbb开头的key对应的value进行更新,那么这个需求就没有办法做了。

或者可以采用什么方式实现? 

请教~~

sohoku
sohoku
我这边的情况是,如果后台更新了某些数据,但是这批数据是分散在多个abc:*的key中的,需要把这些key查出来并更新掉,但是codis不支持keys命令的,有好的方案没!?
0
sohoku
sohoku

@goroutine 是否可以支持keys命令

假设方案:

1、可以在发出keys命令后,轮询每台机器上的key,找出分布在这些机器上abc:*开头的所有key?

2、或者能通过proxy拿到所有的机器,就像直接操作每台机器的redis一样?

0
极限123

各位解决了吗

返回顶部
顶部