#redis #pipeline
#redis #конвейер
Вопрос:
У меня есть такая конструкция:
while {
keys, cursor, err = redis.scan(cursor, "bla:*", 100)
for keys {
res = redis.get(keys[i])
....
}
....
}
Возможно ли поместить команды сканирования и получения в конвейер? если да, как я могу это сделать? у меня некоторые проблемы с производительностью.
Ответ №1:
НЕТ, вы не можете поместить сканирование в конвейер. Потому что 2-е сканирование зависит от результата 1-го сканирования, и вы должны получить ответ первого сканирования, прежде чем сможете отправить вторую команду сканирования.
Для повышения производительности у вас есть два варианта:
- Поместите эти команды GET в конвейер
- Используйте команду MGET для получения нескольких ключей.
Комментарии:
1. да, я использую конвейер для получения, но сканирование вызывает проблемы с производительностью.