我需要从 redis 缓存中删除一个池。但是,这个池可能有数百万个密钥。我正在使用以下代码从缓存中删除密钥
String regex = "*." + poolname + ".*";
Set<String> rkeys = jedis.keys(regex);
for (String key : rkeys) {
LOGGER.info("key ===>" + key);
jedis.del(key);
}
我担心redis服务器可能会崩溃,以防万一有百万行。有什么办法可以告诉 redis 只选择 100 行并一次删除。就像是
while (true) {
//sleep for 1 minute
//get 100 rows from cache
if (keys.isEmpty()) {
break;
}
jedis.del(key);
}