Дневник сертифицированного .NET разработчика. Заметки, советы, новости из мира .NET и C#.
Для связи: @SBenzenko
Поддержать канал:
- https://boosty.to/netdeveloperdiary
- https://patreon.com/user?u=52551826
- https://pay.cloudtips.ru/p/70df3b3b
Post #2231
2.68K
День 1846. #ЗаметкиНаПолях
Используем Redis в .NET 8
Redis — это хранилище данных в памяти с открытым исходным кодом, используемое в качестве БД, кэша или брокера сообщений. Он отличается скоростью и гибкостью, что делает его отличным выбором для кэширования в современных приложениях. Сегодня рассмотрим, как использовать Redis для кэширования в приложении .NET 8.
Настройка Redis с Docker в Windows
Docker предоставляет простой и понятный способ запуска Redis без необходимости установки Redis на машину. Установите Docker Desktop для Windows, если необходимо. Убедитесь, что функция WSL 2 включена.
Запустите Docker Desktop. В первый раз это может занять несколько минут. Откройте окно терминала и запустите Redis в контейнере Docker:
Здесь:
Проверим, что контейнер запущен:
Вы должны видеть my-redis среди запущенных контейнеров. Чтобы остановить контейнер, выполните команду:
используя container_id, показанный в выводе команды docker ps.
Использование Redis в приложении
Создадим новое консольное приложение:
Добавим пакет StackExchange.Redis:
Вот пример программы с сохранением объекта в кэш и получением из него, используя сериализацию/десериализацию:
Полный пример можно посмотреть на GitHub.
Итого
Интеграция Redis в ваши приложения обеспечивает надёжный механизм кэширования, повышающий производительность и масштабируемость. Docker упрощает управление экземпляром Redis, сохраняя среду разработки чистой и понятной. Здесь мы рассмотрели только основы работы, подробности можно посмотреть в документации Redis.
Источник: https://ardalis.com/hello-redis-getting-started-with-redis-dotnet/
Используем Redis в .NET 8
Redis — это хранилище данных в памяти с открытым исходным кодом, используемое в качестве БД, кэша или брокера сообщений. Он отличается скоростью и гибкостью, что делает его отличным выбором для кэширования в современных приложениях. Сегодня рассмотрим, как использовать Redis для кэширования в приложении .NET 8.
Настройка Redis с Docker в Windows
Docker предоставляет простой и понятный способ запуска Redis без необходимости установки Redis на машину. Установите Docker Desktop для Windows, если необходимо. Убедитесь, что функция WSL 2 включена.
Запустите Docker Desktop. В первый раз это может занять несколько минут. Откройте окно терминала и запустите Redis в контейнере Docker:
docker run --name my-redis -p 6379:6379 -d redis
Здесь:
--name my-redis – имя контейнера.-p 6379:6379 – привязка порта контейнера к порту машины.-d – запускает контейнер в независимом режиме (если вы закроете окно терминала, контейнер продолжит работу).redis – использует образ Redis из Docker Hub.Проверим, что контейнер запущен:
docker ps
Вы должны видеть my-redis среди запущенных контейнеров. Чтобы остановить контейнер, выполните команду:
docker stop {container_id}используя container_id, показанный в выводе команды docker ps.
Использование Redis в приложении
Создадим новое консольное приложение:
dotnet new console -n HelloRedis
cd HelloRedis
Добавим пакет StackExchange.Redis:
dotnet add package StackExchange.Redis
Вот пример программы с сохранением объекта в кэш и получением из него, используя сериализацию/десериализацию:
using System.Text.Json;
using StackExchange.Redis;
// Подключаемся к серверу Redis
var redis = ConnectionMultiplexer
.Connect("localhost");
var db = redis.GetDatabase();
var user = new User(1, "John Doe", "john@email.com");
// Сохраняем объект с ключом "user:1".
await db.StringSetAsync("user:1",
JsonSerializer.Serialize(user));
// Получаем объект из Redis
var cached = await db.StringGetAsync("user:1");
if (cached is null)
{
Console.WriteLine("Не найдено в кэше");
return;
}
var cachedUser =
JsonSerializer.Deserialize<User>(cached);
if (cachedUser is null)
{
Console.WriteLine("Ошибка десериализации");
return;
}
Console.WriteLine($"User: {cachedUser.Name}, Email: {cachedUser.Email}");
public record User(int Id, string Name, string Email);
Полный пример можно посмотреть на GitHub.
Итого
Интеграция Redis в ваши приложения обеспечивает надёжный механизм кэширования, повышающий производительность и масштабируемость. Docker упрощает управление экземпляром Redis, сохраняя среду разработки чистой и понятной. Здесь мы рассмотрели только основы работы, подробности можно посмотреть в документации Redis.
Источник: https://ardalis.com/hello-redis-getting-started-with-redis-dotnet/
- 👍 23
- 👎 1
