Как запускать сервер Redis автоматически в ASP NET CORE?
Использую кеширование с помощью Redis. Но что бы оно работало нужно запускать сам сервер Redis. Можно ли запускать его автоматически при старте ASP NET Core web приложения?
Или это предполагает что у мене сервер будет запущен например на другой машине ?
Если вы используете Redis как кэш для распределенной системы, то он должен находиться на другой машине, да.
А вот если у вас всего 1 экземпляр вашего приложения, то вам вообще не особо нужен Redis, потому что уже есть оперативка в том же процессе.
Иван Шумов, да я понимаю) просто форма постановки вопроса заставила меня предположить что возможен оверхед в виде редиса. И, возможно, вопрос можно решить, не используя редис. Или нет)
FairyFox5700, зависит от того, что вы в нём собрались хранить. Если этим пользуется только это приложение и потеря кэша при перезагрузке/перепубликации приложения вас не пугает, то можно использовать просто стандартный MemoryCache
Илья, но если я буду использовать distibuted это как-то скажется на производительности? Он привязан к конкретному типу проекта? Значит я могу использовать distributed только для web api, а в mvc не могу?
FairyFox5700, запросы к redis будут дольше потому что у вас будет сетевое взаимодействие. Просто взять из памяти само собой быстрее.
К типу проекта не привязан.
Пока у вас не будет твердой уверености что в вашей системе нужен Redis и не будет ответа на вопрос «зачем и почему именно он?», рекомендую не добавлять его в проект. Потому что это дополнительная точка отказа и дополнительная сложность.
второй вариант. настройка инфраструктуры может делаться по разному: Docker, ansible, chef, terraform, k8s.... в общем 100500 разных опций. Но код приложения за это точно не имеет права отвечать