开源博客项目Blog .NET Core源码学习(8:EasyCaching使用浅析)

开源博客项目Blog使用EasyCaching模块实现缓存功能,主要是在App.Framwork项目中引用了多类包,包括内存缓存(EasyCaching.InMemory)、Redis缓存(EasyCaching.CSRedis),同时支持多种序列化方式(EasyCaching.Serialization.Json、EasyCaching.Serialization.MessagePack)。

  在App.Hosting项目的Program.cs文件中,调用AddEasyCaching函数注册EasyCaching服务,同时根据当前项目appsettings.json的SysConfig块中UseRedis参数设置采用redis缓存(值为true)或内存缓存(值为false),同时在appsettings.json的easycaching块中设置redis及内存缓存的相关参数。

整个解决方案中共有以下几处用到EasyCaching:
  1)App.Application项目的SysPermissionService类 ,该类使用IEasyCachingProvider接口缓存访问权限、访问菜单等信息,缓存有效期为1天;
  2)App.Core项目的SqlSugarCache类,该类用于ORM缓存,主要在注册SqlSugar服务时调用,如下图所示:

  3)App.Framwork项目的AspectCoreInterceptorAutofacExtensions类,该类用于注册EasyCaching相关的类,如DefaultEasyCachingKeyGenerator、EasyCachingInterceptor,但后续的用途没有看的太明白。

参考文献:

[1]https://gitee.com/miss_you/Blog

[2]https://www.donet5.com/Home/Doc

[3]https://easycaching.readthedocs.io/en/latest/

相关推荐
我叫czc12 天前
【数字花园】个人知识库网站搭建:⑤本地构建+云服务器部署数字花园plus
笔记·博客·教程·网站搭建·数字花园·第二大脑·网站搭建教程
azoux15 天前
Astro Zen Blog |一个优雅、极简、强大的博客
astro·blog·静态博客
伊织code1 个月前
CSDN 博客自动发布脚本(Python 含自动登录、定时发布)
python·博客·登录·csdn·自动发布·定时
虞泽2 个月前
鸢尾博客项目开源
java·spring boot·vue·vue3·博客
明月登楼2 个月前
使用 CDN 后 Apache 的日志记录客户真实 IP
服务器·apache·博客·cdn·客户真实ip地址·独立博客
苹果醋33 个月前
毕业设计_基于SpringBoot+vue的社区博客系统【源码+SQL+教程+可运行】41002
java·毕业设计·博客
明明明h3 个月前
复制他人 CSDN 文章到自己的博客
博客·csdn
寒山李白3 个月前
VuePress搭建文档网站/个人博客(详细配置)主题配置-侧边栏配置
前端·vue.js·vue·博客·vuepress·网站
尸僵打怪兽3 个月前
后台数据管理系统 - 项目架构设计-Vue3+axios+Element-plus(0920)
前端·javascript·vue.js·elementui·axios·博客·后台管理系统
Code成立3 个月前
HTML5精粹练习第1章博客
前端·html·博客·html5