![]() |
VOOZH | about |
dotnet add package Reo.Core.MemoryCache --version 10.0.179
NuGet\Install-Package Reo.Core.MemoryCache -Version 10.0.179
<PackageReference Include="Reo.Core.MemoryCache" Version="10.0.179" />
<PackageVersion Include="Reo.Core.MemoryCache" Version="10.0.179" />Directory.Packages.props
<PackageReference Include="Reo.Core.MemoryCache" />Project file
paket add Reo.Core.MemoryCache --version 10.0.179
#r "nuget: Reo.Core.MemoryCache, 10.0.179"
#:package Reo.Core.MemoryCache@10.0.179
#addin nuget:?package=Reo.Core.MemoryCache&version=10.0.179Install as a Cake Addin
#tool nuget:?package=Reo.Core.MemoryCache&version=10.0.179Install as a Cake Tool
Reo.Core.MemoryCache — это библиотека для реализации кэширования данных в приложениях на C#, которая интегрируется с Redis для обеспечения высокой доступности и масштабируемости. Пакет решает проблему управления кэшем в распределённых системах, предоставляя возможность хранения данных в памяти и синхронизации через Redis. Основные функции включают:
ReoMemoryCache
Основной класс для работы с кэшем. Обеспечивает методы для получения, установки и удаления данных из кэша с поддержкой
Redis как резервного хранилища.
IDistributedCacheLock
Интерфейс для управления блокировками в распределённых системах, используя Redis для синхронизации доступа к ресурсам.
ReoMemoryCacheOptions
Класс для настройки параметров кэша (тайминги для справочных и несправочных данных).
ReoMemoryCacheOptionsValidator
Валидатор конфигурации, проверяющий корректность настроек кэша при регистрации в DI.
Microsoft.Extensions.DependencyInjectionMicrosoft.Extensions.ConfigurationMicrosoft.Extensions.Caching.Redis (через AddRedis в ServiceCollectionExtensions).Установите пакет через NuGet:
Install-Package Reo.Core.MemoryCache
или:
dotnet add package Reo.Core.MemoryCache
Конфигурация
Добавьте настройки в appsettings.json:
{
"ReoMemoryCacheOptions": {
"ReferenceData": {
"AbsoluteExpiration": "00:10:00",
"SlidingExpiration": "00:05:00"
},
"NonReferenceData": {
"AbsoluteExpiration": "00:30:00"
}
}
}
Регистрация в DI
В Program.cs или Startup.cs:
services.RegisterReoMemoryCache(Configuration);
public class ReferenceDataService
{
private readonly IReoMemoryCache _cache;
public ReferenceDataService(IReoMemoryCache cache)
{
_cache = cache;
}
public async Task<List<string>> GetReferenceDataAsync()
{
var key = "reference_data_key";
return await _cache.GetOrSetAsync(key, async () =>
{
// Получение данных из источника
return await FetchDataFromDatabaseAsync();
}, ReoMemoryCacheOptions.ReferenceData);
}
}
public class DistributedLockService
{
private readonly IDistributedCacheLock _lock;
public DistributedLockService(IDistributedCacheLock lockProvider)
{
_lock = lockProvider;
}
public async Task PerformLockedOperationAsync()
{
var lockKey = "distributed_lock_key";
using (await _lock.LockAsync(lockKey, TimeSpan.FromSeconds(30)))
{
// Критическая секция, защищённая блокировкой
await ProcessDataAsync();
}
}
}
Данный пакет распространяется под лицензией MIT.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.179 | 98 | 6/8/2026 |
| 10.0.178 | 91 | 6/8/2026 |
| 10.0.177 | 92 | 6/5/2026 |
| 10.0.176 | 91 | 6/5/2026 |
| 10.0.175 | 106 | 6/5/2026 |
| 10.0.174 | 97 | 6/4/2026 |
| 10.0.173 | 98 | 6/4/2026 |
| 10.0.172 | 99 | 6/4/2026 |
| 10.0.171 | 94 | 6/4/2026 |
| 10.0.170 | 95 | 6/3/2026 |
| 10.0.169 | 95 | 6/3/2026 |
| 10.0.168 | 94 | 6/2/2026 |
| 10.0.167 | 99 | 6/1/2026 |
| 10.0.166 | 101 | 6/1/2026 |
| 10.0.165 | 94 | 6/1/2026 |
| 10.0.164 | 92 | 6/1/2026 |
| 10.0.163 | 86 | 6/1/2026 |
| 10.0.162 | 92 | 6/1/2026 |
| 10.0.161 | 106 | 5/28/2026 |
| 10.0.160 | 102 | 5/27/2026 |