Проблема, скорее всего, заключается в количестве элементов, которые необходимо извлечь для каждой страницы, а не в производительности самого кэша.102 вызовы кеша означают много времени, потерянного из-за задержки в сети.Имея полный контроль над кодом, вы, вероятно, могли бы исправить это с помощью многопоточности или конвейерной обработки, но в этом случае у вас нет такой возможности - использование инфраструктуры означает получение гораздо более простого кода за счет снижения производительности в пограничных случаях.
Самое простое решение - переместить кэш redis на веб-сервер - локальный запрос выполняется намного быстрее.Это усложнит аннулирование кэша, но вы, вероятно, можете исправить это с помощью репликации - либо выполните все операции записи в главный узел и считайте данные с локального ведомого устройства, чтобы все узлы имели одинаковый кэш, либо выполните локальную запись с помощью главного узла, используемого для репликацииКоманда del для всех ведомых, когда вам нужно сделать объект недействительным.
Еще одна вещь, на которую стоит обратить внимание, это проблема производительности.300 мс для загрузки страницы - это не так уж плохо для пользователя.Это проблема, только если это означает, что вы не можете обрабатывать более 3 страниц в секунду для всех пользователей - маловероятно в этом случае, когда узким местом является задержка в сети, а не ЦП или локальный ввод / вывод.