开源博客项目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/

相关推荐
SmallBambooCode1 个月前
【WordPress】发布文章时自动通过机器人推送到钉钉
机器人·php·钉钉·博客·wordpress
James5062 个月前
WordPress使用(1)
docker·博客·wordpress
java1234_小锋2 个月前
[免费]基于Python的Django博客系统【论文+源码+SQL脚本】
博客·python毕业设计·django毕业设计·python博客·django博客
云樱梦海3 个月前
Sonic:开源Go语言开发的高性能博客平台
开发语言·golang·开源·博客·sonic
魔众3 个月前
一个桌面工具条系统,插件一键启动,快速扩展提高工作效率
开源·php·laravel·blog
我叫czc4 个月前
【数字花园】个人知识库网站搭建:⑤本地构建+云服务器部署数字花园plus
笔记·博客·教程·网站搭建·数字花园·第二大脑·网站搭建教程
azoux4 个月前
Astro Zen Blog |一个优雅、极简、强大的博客
astro·blog·静态博客
伊织code4 个月前
CSDN 博客自动发布脚本(Python 含自动登录、定时发布)
python·博客·登录·csdn·自动发布·定时
虞泽5 个月前
鸢尾博客项目开源
java·spring boot·vue·vue3·博客
明月登楼6 个月前
使用 CDN 后 Apache 的日志记录客户真实 IP
服务器·apache·博客·cdn·客户真实ip地址·独立博客