Caching 从区块中的redis缓存中清除数据

Caching 从区块中的redis缓存中清除数据,caching,redis,purge,Caching,Redis,Purge,我需要从redis缓存中删除一个池。但是,此池可能有数百万个密钥。我使用以下代码从缓存中删除密钥 String regex = "*." + poolname + ".*"; Set<String> rkeys = jedis.keys(regex); for (String key : rkeys) { LOGGER.info("key ===>" + key); jedis.del(key); } Redis不应该崩溃,我会在预感代码变得更复杂之前测试这

我需要从redis缓存中删除一个池。但是,此池可能有数百万个密钥。我使用以下代码从缓存中删除密钥

String regex = "*." + poolname + ".*";
Set<String> rkeys = jedis.keys(regex);

for (String key : rkeys) {
    LOGGER.info("key ===>" + key);
    jedis.del(key);
}

Redis不应该崩溃,我会在预感代码变得更复杂之前测试这个场景。我刚刚创建了一百万个密钥并删除了它们。耗时2分钟,瓶颈是ruby客户端,而不是redid

这就是说,你可能想看看,这是DEL的一个新的非阻塞版本。

研究使用-绝地武士应该拥有它。
“Redis不应该崩溃”
while (true) {
    //sleep for 1 minute
    //get 100 rows from cache
    if (keys.isEmpty()) {
        break;
    }
    jedis.del(key);
}