今天遇到一个问题,我们有一个场景,一旦触发,就得把redis中的所有数据都i给删除,但是我一个同事写的一段代码如下:
Set<String> keys= redisTemplate.keys(“*”);
foreach(String key in keys){
redisTemplate.delete(key)
}
要删除的数据量并不多 ,只有10万级别,循环去执行,但实际操作中发现这个执行起来很慢,我翻看了其他人的解决方案,事实上是可以直接使用redisTemplate.delete(keys) 去操作的,但是不知道如果传10万个key的话,这个能不能支持,这个是其一,其二:我认为redis删除所有数据的操作不该去先查询到所有key,为什么不能直接执行一个方法全部去删除,请问下大家,有这样的方法吗?
Set<String> keys= redisTemplate.keys(“*”);
foreach(String key in keys){
redisTemplate.delete(key)
}
要删除的数据量并不多 ,只有10万级别,循环去执行,但实际操作中发现这个执行起来很慢,我翻看了其他人的解决方案,事实上是可以直接使用redisTemplate.delete(keys) 去操作的,但是不知道如果传10万个key的话,这个能不能支持,这个是其一,其二:我认为redis删除所有数据的操作不该去先查询到所有key,为什么不能直接执行一个方法全部去删除,请问下大家,有这样的方法吗?