gpt4 book ai didi

caching - 从 block 中的 redis 缓存中清除数据

转载 作者:可可西里 更新时间:2023-11-01 11:30:23 25 4
gpt4 key购买 nike

我需要从 Redis 缓存中删除一个池。但是,这个池可能有数百万个 key 。我正在使用以下代码从缓存中删除 key

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);
}

最佳答案

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

也就是说,您可能想查看 https://redis.io/commands/unlink ,这是 DEL 的一个新的非阻塞版本。

关于caching - 从 block 中的 redis 缓存中清除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41301837/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com