Мне нужно удалить пул из кеша 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);
}
SCAN
— джедаи должны иметь это в виду. - person Itamar Haber   schedule 23.12.2016