Eaf.RedisCache
9.4.6
Prefix Reserved
dotnet add package Eaf.RedisCache --version 9.4.6
NuGet\Install-Package Eaf.RedisCache -Version 9.4.6
<PackageReference Include="Eaf.RedisCache" Version="9.4.6" />
<PackageVersion Include="Eaf.RedisCache" Version="9.4.6" />
<PackageReference Include="Eaf.RedisCache" />
paket add Eaf.RedisCache --version 9.4.6
#r "nuget: Eaf.RedisCache, 9.4.6"
#:package Eaf.RedisCache@9.4.6
#addin nuget:?package=Eaf.RedisCache&version=9.4.6
#tool nuget:?package=Eaf.RedisCache&version=9.4.6
Eaf.RedisCache
Módulo de cache distribuído do EAF baseado em Redis, utilizando StackExchange.Redis através do Microsoft.Extensions.Caching.StackExchangeRedis.
Instalação
Adicione a referência ao projeto Eaf.RedisCache e configure o módulo no seu EafModule:
[DependsOn(typeof(EafRedisCacheModule))]
public class YourModule : AbpModule
{
public override void PreInitialize()
{
Configuration.Caching.UseRedis(options =>
{
options.ConnectionString = "localhost:6379";
options.InstanceName = "EAF";
});
}
}
A string de conexão também pode ser obtida do appsettings.json:
{
"ConnectionStrings": {
"Redis": "localhost:6379"
},
"Eaf": {
"RedisCache": {
"ConnectionString": "localhost:6379"
}
}
}
Observação: a leitura automática do
appsettings.jsonpode ser feita no módulo de inicialização do seu projeto (por exemploEaf.Middleware.Web.Core) antes de invocarUseRedis.
Características
- Implementação de
ICacheManagereCacheBasepara o EAF. - Serialização JSON com prefixo do tipo e compressão GZip (compatível com
Eaf.SqlServerCache). - Chaves prefixadas com
<InstanceName>:<CacheName>_. - Operação
Clearcom scan e remoção por prefixo (best-effort). - Fail-open: falhas no Redis são logadas e não derrubam o host.
Dependências
Microsoft.Extensions.Caching.StackExchangeRedisStackExchange.RedisAbp
Exemplo de uso
var cacheManager = Resolve<ICacheManager>();
var cache = cacheManager.GetCache("Users");
cache.Set("user:1", new UserDto { Id = 1, Name = "Alice" });
var user = cache.Get("user:1", "default");
Testes
Execute os testes com:
dotnet test test/Eaf.RedisCache.Tests
Para os testes de integração, é necessário um Redis disponível em localhost:6379 (iniciado automaticamente em ambientes com Docker).
| 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
- Abp (>= 10.5.0)
- MessagePack (>= 2.5.301)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Caching.StackExchangeRedis (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- System.Security.Cryptography.Xml (>= 10.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.