Goldev.Cache.Redis 8.2.0

dotnet add package Goldev.Cache.Redis --version 8.2.0
                    
NuGet\Install-Package Goldev.Cache.Redis -Version 8.2.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Goldev.Cache.Redis" Version="8.2.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Goldev.Cache.Redis" Version="8.2.0" />
                    
Directory.Packages.props
<PackageReference Include="Goldev.Cache.Redis" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Goldev.Cache.Redis --version 8.2.0
                    
#r "nuget: Goldev.Cache.Redis, 8.2.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Goldev.Cache.Redis@8.2.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Goldev.Cache.Redis&version=8.2.0
                    
Install as a Cake Addin
#tool nuget:?package=Goldev.Cache.Redis&version=8.2.0
                    
Install as a Cake Tool

Кэширование через Redis

Данная библиотека позволяет использовать возможности Redis для хранения общностей по их PK, а так же имеет ряд дополнительных инструментов. Для работы системы важно, чтобы модели, помещаемые в Redis были:

  • Без зависимостей (в противном случае контроль за консистентностью зависимых данных остаётся обязанностью использующего)
  • Быть наследниками интерфейса IID<T> Для конфигурирования системы необходимо:
  • Добавить в SP зависимость IDatabase (StackExchange.Redis). Это и есть подключение к Redis
  • Добавить в SP зависимость ICache<,> с реализацией RedisCash<,>

Использование

ICache - кэш для одной сущности. Он имеет следующие поля:

  • Task<CacheResponseModel<T>> GetByPrimaryKeyAsync(key) - получить кэш по PK
  • Task<CacheResponseModel<List<T?>>> GetListByPrimaryKeysAsync(IEnumerable<> keys) - получить список объектов по их PK
  • Task AddOrUpdateByFieldAsync(string fieldName, string fieldValue, IEnumerable<T?> values, TimeSpan? expiry = null) - Обновляет (добавляет или дополняет) кэш по точному значению одного поля. НЕ УДАЛЯЕТ!
  • Task<CacheResponseModel<List<T>>> GetByFieldAsync(string fieldName, string fieldValue) - Получить список объектов по полю. Разумеется, кэш по полю должен существовать (AddOrUpdateByFieldAsync)
  • Task AddOrUpdateAsync(T value, TimeSpan? expiry = null) - обновление или добавление в кэш сущности, что может перестроить кэш по значению поля!
  • Task DeleteAsync(T Value / U id) - Удаляет запись из кэша. Это обновляет связанные с ней записи по значению поля
  • Task InvalidateCacheByFieldAsync(string fieldName, string value) - Удалить весь кэш по значению поля В библиотеке есть Trace логи, на случай, если надо дебажить.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.2.0 237 12/4/2024
8.1.1 266 9/11/2024 8.1.1 is deprecated because it is no longer maintained and has critical bugs.
8.1.0 208 9/9/2024 8.1.0 is deprecated because it is no longer maintained and has critical bugs.