Получение нескольких хэшей из redis с помощью StackExchange.Redis

Мне нужно получить около 10 тысяч хэшей с сервера Redis. Поскольку в redis нет команды для получения нескольких хэшей, я перебирал все ключи, используя db.HashGetAllAsync() позвоните, а затем дождитесь завершения всех задач. Несмотря на то, что это сработало, я увидел резкий всплеск задержки на панели управления RedisLabs во время этих вызовов.

Есть ли способы получить много хэшей одновременно? Может быть, есть какие-либо ConnectionMultiplexer настройки, которые могут помочь в этой ситуации?

1 ответ

Там нет Варадик hgetallтак что да: самый простой подход заключается в том, чтобы направить огромное количество индивидуальных hgetall, Единственное, что вы могли бы даже сделать, это использовать скрипт Lua (eval/evalsha) для создания нескольких элементов в каждом элементе, но я не вижу, как это уменьшит нагрузку на сервер или полосу пропускания, поэтому не стоит пытаться!

В любом случае, да: это сгенерирует некоторую работу на сервере.

Другие вопросы по тегам