LemonNoCry
|
966db5ec8c
|
⚡️🎨 优化调整缓存性能
CodeQL / Analyze (csharp) (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
.NET Core / build (push) Has been cancelled
1.调整获取所有Key的方式,原有写法是维护一个AllKey的集合,在长时间运行后Key越来越多性能越来越低,故此优化,直接使用Redis原生API
2.优化App.GetServiceProvider的逻辑,如果是单例则直接返回RootServices
3.优化IpPolicyRateLimitSetup,使用分布式缓存,而不是MemoryCache
4.优化MiniProfilerSetup,增加注册使用Redis
5.优化DataProtectionSetup,在不使用Redis时,默认保存在临时文件夹
|
2024-07-18 17:47:31 +08:00 |
|
LemonNoCry
|
7629527ee9
|
✨🎨 缓存的完善优化
1.统一封装基于微软分布式缓存接口IDistributedCache使用
2.IDistributedCache只适合普通的缓存使用,如果要使用redis队列、订阅redis消息等,就要使用redis原生库
3.增加缓存管理接口[Systems/CacheManageController]
4.目前支持内存、redis缓存实现,理论可随意扩展甚至自定义实现
5.默认使用内存缓存,可在appsetting.json中配置Redis
切换到IDistributedCache好处如下
默认session使用IDistributedCache进行存储,如果你搭配使用IDistributedCache+外部缓存(如Redis),可实现应用程序重启session不丢失
更直观就是,调试的时候登录swagger后即使重启调试也无需在登陆
|
2023-06-01 17:54:54 +08:00 |
|