Мы используем StackExchange.Redis для доступа к обычной базе данных Redis. Теперь мы хотим настроить эту базу данных как кластер, поэтому мы проверяем код, чтобы убедиться, что нет сценариев MULTI
или Lua, которые могут сломаться из-за распределения ключей по узлам.
Нет Lua сценариев или MULTI
, но есть много redis.GetDatabase().CreateBatch()
. Насколько я знаю, пакет просто отправляет конвейерные команды в Redis, но будет ли это работать с кластером Redis?
После прочтения некоторой документации я бы сказал, что каждая команда в пакете будет обрабатываться отдельно и если узел перенаправляет клиента на другой узел для этой конкретной команды, он будет обрабатываться самой библиотекой. Фактически, каждая команда в пакете имеет свою собственную возвращаемую задачу, поэтому все должно быть в порядке. Однако в inte rnet есть некоторые люди, утверждающие обратное: https://groups.google.com/forum/#! Topic / redis-db / 1wc9tJSprms
Так можно ли ожидать, что пакеты будут работать правильно в Redis Cluster?