Конвейер Redis со сканированием и получением

#redis #pipeline

#redis #конвейер

Вопрос:

У меня есть такая конструкция:

 while {
   keys, cursor, err = redis.scan(cursor, "bla:*", 100)
   for keys {
       res = redis.get(keys[i])
       ....
   } 
   ....
}
  

Возможно ли поместить команды сканирования и получения в конвейер? если да, как я могу это сделать? у меня некоторые проблемы с производительностью.

Ответ №1:

НЕТ, вы не можете поместить сканирование в конвейер. Потому что 2-е сканирование зависит от результата 1-го сканирования, и вы должны получить ответ первого сканирования, прежде чем сможете отправить вторую команду сканирования.

Для повышения производительности у вас есть два варианта:

  1. Поместите эти команды GET в конвейер
  2. Используйте команду MGET для получения нескольких ключей.

Комментарии:

1. да, я использую конвейер для получения, но сканирование вызывает проблемы с производительностью.