Подключение к Redis
Настройте распределённый кэш Redis.
«Подключение к Redis» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 4 уроков всего.
Что такое Redis
Redis — это быстрое хранилище данных «ключ-значение» в памяти, широко используемое как распределённый кэш. Оно работает как отдельный сервер, к которому несколько экземпляров приложения подключаются по сети.
Установка пакета
ASP.NET Core интегрируется с Redis через пакет Microsoft.Extensions.Caching.StackExchangeRedis, который адаптирует клиент StackExchange.Redis к IDistributedCache.
dotnet add package Microsoft.Extensions.Caching.StackExchangeRedisРегистрация Redis с помощью AddStackExchangeRedisCache
Вызовите AddStackExchangeRedisCache при регистрации служб и передайте строку подключения. Это подключит Redis как реализацию IDistributedCache.
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = "localhost:6379";
});Использование конфигурации
Храните строку подключения в appsettings.json и считывайте её через IConfiguration, чтобы она могла различаться в разных окружениях.
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration =
builder.Configuration.GetConnectionString("Redis");
});Префикс InstanceName
Задайте InstanceName, чтобы добавлять этот префикс ко всем ключам, которые хранит Redis. Так ключи приложения получают собственное пространство имён, и несколько приложений могут безопасно использовать один экземпляр Redis.
builder.Services.AddStackExchangeRedisCache(options =>
{
options.Configuration = "localhost:6379";
options.InstanceName = "MyApp:";
});Параметры строки подключения
Строка подключения StackExchange.Redis поддерживает множество параметров: несколько конечных точек, пароль, SSL и время ожидания. Все они разделяются запятыми.
options.Configuration =
"redis-server:6380,password=secret,ssl=True,abortConnect=False";Тот же интерфейс, настоящий Redis
После регистрации продолжайте использовать IDistributedCache точно так же, как раньше. Меняется только строка регистрации, поэтому для начала работы с Redis не нужно редактировать службы.
public WeatherService(IDistributedCache cache) => _cache = cache;
// GetStringAsync / SetStringAsync now talk to RedisЗапуск Redis локально
Для разработки можно быстро запустить Redis с помощью Docker, а затем указать его в строке подключения.
docker run -p 6379:6379 redis:7
# then Configuration = "localhost:6379"Варианты управляемого Redis
В рабочей среде управляемые службы, такие как Azure Cache for Redis или AWS ElastiCache, берут на себя масштабирование, сохранение данных и автоматическое переключение при сбоях. Обычно подключение выполняется через конечную точку SSL и ключ доступа.
options.Configuration =
"myapp.redis.cache.windows.net:6380,password=KEY,ssl=True";Обеспечение устойчивости подключения
Задайте abortConnect=False, чтобы клиент продолжал повторять попытки, если Redis временно недоступен при запуске, вместо немедленного создания исключения. Для устойчивости на уровне вызовов объедините это с Polly.
Проверки работоспособности
Зарегистрируйте проверку работоспособности Redis, чтобы приложение могло сообщать оркестраторам и балансировщикам нагрузки о доступности кэша.
builder.Services.AddHealthChecks()
.AddRedis("localhost:6379");Быстрая проверка
Проверьте подключение к Redis.
Итоги
Redis — это быстрый внешний кэш. Установите Microsoft.Extensions.Caching.StackExchangeRedis и вызовите AddStackExchangeRedisCache со строкой подключения из Configuration, при необходимости добавив префикс InstanceName. Службы продолжают использовать IDistributedCache без изменений. Используйте конфигурацию для каждого окружения, задайте abortConnect=False для повышения устойчивости и добавьте проверку работоспособности Redis.
Часто задаваемые вопросы
Урок «Подключение к Redis» бесплатный?
Да — полный текст урока «Подключение к Redis» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 4 уроков всего.
Чему я научусь в уроке «Подключение к Redis»?
Настройте распределённый кэш Redis. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Подключение к Redis»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Абстракция IDistributedCache
- Подключение к Redis
- Шаблоны кэширования и истечение срока действия
- Кэширование сериализованных объектов