二级缓存
Util应用框架二级缓存操作
本节介绍Util应用框架如何配置2级缓存.
概述
EasyCaching支持2级缓存操作.
2级缓存可以让你的项目从本地缓存中获取数据,这样可以获得很高的读取性能.
当本地缓存过期,本地缓存会请求Redis分布式缓存,Redis缓存从数据库读取最新数据,并更新本地缓存.
Redis还充当事件总线的角色,每当数据更新,通过Redis总线发布事件,同步更新所有本地缓存副本,解决了本地缓存更新困难的难题.
配置二级缓存
-
引用Nuget包
Nuget包名: Util.Caching.EasyCaching
-
AddHybridCache
使用 AddHybridCache 扩展方法启用2级缓存.
-
最简单的配置方法不带参数,设置以下默认值.
-
TopicName 设置为 EasyCachingHybridCache.
TopicName 是Redis总线发布事件的主题名称.
启用2级缓存之前,应先配置本地缓存和Redis缓存.
范例:
var builder = WebApplication.CreateBuilder( args ); builder.AsBuild() .AddMemoryCache() .AddRedisCache( "127.0.0.1" ) .AddHybridCache();
如果要修改 TopicName,传入主题参数,如下所示.
builder.AsBuild() .AddMemoryCache() .AddRedisCache( "127.0.0.1" ) .AddHybridCache( "topic" );
-
-
使用 IConfiguration 进行配置.
可以使用 appsettings.json 文件进行配置.
builder.AsBuild() .AddMemoryCache() .AddRedisCache( "127.0.0.1" ) .AddHybridCache( builder.Configuration );
除了需要配置2级缓存提供程序,还需要配置 Redis 总线.
默认配置节名称:
-
2级缓存默认配置节名称: EasyCaching:Hybrid
-
Redis总线配置节名称: EasyCaching:RedisBus
appsettings.json 配置文件示例.
{ "EasyCaching": { "Hybrid": { "LocalCacheProviderName": "DefaultInMemory", "DistributedCacheProviderName": "DefaultRedis", "TopicName": "EasyCachingHybridCache" }, "RedisBus": { "Endpoints": [ { "Host": "localhost", "Port": 6739 } ], "SerializerName": "SystemTextJson" } } }
-
-
使用委托进行配置.
builder.AsBuild() .AddMemoryCache() .AddRedisCache( "127.0.0.1" ) .AddHybridCache( hybridOptions => { hybridOptions.LocalCacheProviderName = "DefaultInMemory"; hybridOptions.DistributedCacheProviderName = "DefaultRedis"; hybridOptions.TopicName = "topic"; }, redisBusOptions => { redisBusOptions.Endpoints.Add( new ServerEndPoint( "127.0.0.1", 6379 ) ); redisBusOptions.SerializerName = "SystemTextJson"; } )
-
-
配置参数
EasyCaching Redis 缓存提供了多个配置参数,具体请参考 EasyCaching 文档.
Util应用框架交流群: 24791014