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

相关推荐
知了一笑9 天前
互联网十年,从博客到知识库
笔记·博客·知识库·自媒体
七仔的博客16 天前
Vue视差标题背景
vue·博客·动画·视差
七仔的博客17 天前
博客的加载速度和大小的优化、优化再优化
vue·博客·优化·gzip·live2d
mjhcsp19 天前
博客安全攻防演练:从实战视角构建全方位防护体系
网络安全·博客
-一杯为品-21 天前
【博客规划】关于我未来的研究方向……
博客·纪念
chaochaomiao1 个月前
为你的Hugo博客站创建WordCloud标签云
前端框架·hugo·blog·标签云
wdfk_prog1 个月前
构建基于Hexo、Butterfly、GitHub与Cloudflare的高性能个人博客
笔记·学习·github·hexo·blog
skywalk81633 个月前
基于Node.js开发的开源博客平台ghost安装和使用
开源·node.js·自动化·博客
大猫和小黄4 个月前
【工具集】使用Docsify搭建个人博客
博客·docsify
认真就输5 个月前
故障诊断:ASM莫名出现GC等待事件、ADG的MRP进程HANG住
博客