Каковы основные различия в использовании Redis Cache через ConnectionMultiplexer и AddStackExchangeRedisCache (IDistributedCache) в StartUp.cs? - PullRequest
0 голосов
/ 23 мая 2019

Я хочу реализовать распределенное кэширование (Redis) в проекте ASP.NET Core. Через некоторое время я обнаружил, что существует два способа создания подключения Redis с использованием AddStackExchangeRedisCache в Startup.cs и ConnectionMultiplexer

.
  1. AddStackExchangeRedisCache - это происходит в Startup.cs. Сомнения в подходе выше:
  2. Работает ли это в среде Prod?
  3. Когда и как инициализируется соединение?
  4. Это потокобезопасный способ создания соединения?

  5. Используя ConnectionMultiplexer, мы можем инициализировать экземпляр БД. В соответствии с несколькими статьями, Ленивая инициализация также позаботится о безопасности потоков

Сомнения: 1. Из вышеперечисленных подходов, какой подход лучше?

Я попробовал оба подхода на моей локальной машине, оба работают нормально. Но я не смог найти плюсы и минусы вышеуказанного подхода.

Пожалуйста, помогите. Заранее спасибо

BR, Ankit

1 Ответ

0 голосов
/ 04 июня 2019

С ConnectionMultiplexer у вас есть полный список команд, которые вы можете выполнить на своем сервере Redis.С DistributedCaching вы можете только сохранять / извлекать байтовый массив или строку, и вы не можете выполнять любые другие команды, которые предоставляет Redis.Так что, если вы просто хотите использовать его в качестве хранилища кеша, DistributedCaching предоставляет хороший уровень абстракции.Однако даже самая простая команда увеличения / уменьшения для Redis будет недоступна, если вы не используете ConnectionMultiplexer.

...