Reo.Core.DistributedCache.Abstractions
10.0.28
See the version list below for details.
dotnet add package Reo.Core.DistributedCache.Abstractions --version 10.0.28
NuGet\Install-Package Reo.Core.DistributedCache.Abstractions -Version 10.0.28
<PackageReference Include="Reo.Core.DistributedCache.Abstractions" Version="10.0.28" />
<PackageVersion Include="Reo.Core.DistributedCache.Abstractions" Version="10.0.28" />
<PackageReference Include="Reo.Core.DistributedCache.Abstractions" />
paket add Reo.Core.DistributedCache.Abstractions --version 10.0.28
#r "nuget: Reo.Core.DistributedCache.Abstractions, 10.0.28"
#:package Reo.Core.DistributedCache.Abstractions@10.0.28
#addin nuget:?package=Reo.Core.DistributedCache.Abstractions&version=10.0.28
#tool nuget:?package=Reo.Core.DistributedCache.Abstractions&version=10.0.28
Reo.Core.DistributedCache.Abstractions
Описание пакета
Библиотека предоставляет абстракции и расширения для работы с распределённым кэшированием в .NET-приложениях. Она упрощает управление кэшем, обеспечивая типобезопасные операции, генерацию ключей и интеграцию с Redis. Пакет решает проблему сложного управления кэшем, позволяя разработчикам фокусироваться на бизнес-логике, а не на деталях реализации кэширования.
Основные компоненты
- ICacheService: Интерфейс для работы с кэшем, предоставляющий методы для установки, получения и удаления данных.
- CacheKeyExtensions: Класс расширений для генерации уникальных ключей кэша на основе типов сущностей и атрибутов.
- DistributedCacheExtensions: Расширения для IDistributedCache, добавляющие поддержку типобезопасных операций (JSON и бинарная сериализация).
- CacheKeyPrefixAttribute: Атрибут для указания префиксов кэш-ключей, позволяющий организовать кэш по категориям.
Требования
- .NET: Совместим с .NET 6.0 и выше.
- Зависимости:
Microsoft.Extensions.Caching.StackExchangeRedis(для интеграции с Redis).
Установка
Используйте следующие команды для установки пакета:
Install-Package Reo.Core.DistributedCache.Abstractions
или
dotnet add package Reo.Core.DistributedCache.Abstractions
Настройка
Регистрация в DI-контейнере (ASP.NET Core)
Добавьте сервисы в Startup.cs или Program.cs:
services.AddStackExchangeRedisCache(options =>
{
options.Configuration = "localhost:6379";
options.InstanceName = "MyAppCache";
});
services.AddDistributedCache();
services.AddScoped<ICacheService, CacheService>();
Конфигурационные параметры
Укажите настройки Redis в appsettings.json:
{
"Redis": {
"ConnectionString": "localhost:6379",
"InstanceName": "MyAppCache"
}
}
Использование
Пример 1: Работа с кэшем через ICacheService
public class ProductService
{
private readonly ICacheService _cacheService;
public ProductService(ICacheService cacheService)
{
_cacheService = cacheService;
}
public async Task<Product> GetProductAsync(int id)
{
var key = id.BuildCacheKey<Product, int>();
return await _cacheService.GetTypedAsync<Product>(key);
}
public async Task SaveProductAsync(Product product)
{
var key = product.Id.BuildCacheKey<Product, int>();
await _cacheService.SetTypedAsync(key, product, TimeSpan.FromMinutes(10));
}
}
Пример 2: Генерация кэш-ключа с префиксом
[CacheKeyPrefix("Products")]
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
// Ключ будет: "Products:123"
var key = 123.BuildCacheKey<Product, int>();
Пример 3: Типобезопасное кэширование с Redis
var cache = new RedisCache();
var key = "user:123";
await cache.SetTypedAsync<User>(key, user, TimeSpan.FromHours(1));
var user = await cache.GetTypedAsync<User>(key);
Лицензия
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- FluentValidation (>= 12.1.1)
- FluentValidation.AspNetCore (>= 11.3.1)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.2)
- Microsoft.Extensions.Configuration (>= 10.0.2)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection (>= 10.0.2)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.2)
- Microsoft.Extensions.Options (>= 10.0.2)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.2)
- NEST (>= 7.17.5)
- Reo.Core.DataModels (>= 10.0.28)
- Reo.Core.Validation (>= 10.0.28)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.2)
- System.ComponentModel.Annotations (>= 5.0.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Reo.Core.DistributedCache.Abstractions:
| Package | Downloads |
|---|---|
|
Reo.Core.IdentityModel
Package Description |
|
|
Reo.Core.DistributedCache
Package Description |
|
|
Reo.MnoApi.Sensors
Package Description |
|
|
Reo.Core.Events
Package Description |
|
|
Reo.Fs.SignedRecordsImportEvents.Client
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.33 | 0 | 2/13/2026 |
| 10.0.32 | 0 | 2/13/2026 |
| 10.0.31 | 11 | 2/13/2026 |
| 10.0.30 | 53 | 2/12/2026 |
| 10.0.29 | 62 | 2/12/2026 |
| 10.0.28 | 65 | 2/11/2026 |
| 10.0.27 | 89 | 2/11/2026 |
| 10.0.26 | 190 | 2/9/2026 |
| 10.0.25 | 180 | 2/9/2026 |
| 10.0.24 | 196 | 2/9/2026 |
| 10.0.23 | 194 | 2/9/2026 |
| 10.0.22 | 182 | 2/9/2026 |
| 10.0.21 | 194 | 2/9/2026 |
| 10.0.20 | 187 | 2/9/2026 |
| 10.0.15 | 208 | 2/6/2026 |
| 10.0.14 | 204 | 2/6/2026 |
| 10.0.13 | 464 | 2/4/2026 |
| 10.0.12 | 205 | 2/3/2026 |
| 10.0.11 | 217 | 2/2/2026 |
| 10.0.10 | 216 | 1/29/2026 |