В настоящее время я использую Jedis для извлечения моих данных с сервера базы данных redis. Мне нужно переместить эти данные в MySQL. На сервере redis есть миллионы записей. Используя приведенные ниже высказывания можно скопировать данные в наборе:Как обеспечить потребление памяти не масштабируется с размером базы данных redis
String pattern = "users*";//All keys starting with users
Set<String> users = jedis.keys(pattern)//Read all the keys in to set
Теперь мой users
набор все записи. Но может быть миллион записей, которые соответствуют моему шаблону в базе данных redis. Это в конечном итоге поглотит всю мою память. Как я могу сделать некоторые вещи, как ниже
for(All the keys that match my pattern){
Set<String> set = get current to (current+10000) records from server
...Code to push 10K records to MySQL...
current = current + 10001;
}
Или предложите, если есть элегантный подход к этому
Посмотрите на реализацию Jedis API «SCAN» Redis. –
@ItamarHaber Спасибо большое! Это помогло –