开源博客项目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,但后续的用途没有看的太明白。

参考文献:

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

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

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

相关推荐
香蕉大香蕉(06敬畏市场)11 天前
MySQL 单点详解(07)
java·数据库·mysql·ai·博客·八股
香蕉大香蕉(06敬畏市场)12 天前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
香蕉大香蕉(06敬畏市场)14 天前
MySQL 单点详解(01)
java·数据库·mysql·面试·博客·实习
香蕉大香蕉(06敬畏市场)16 天前
高频八股 · JVM(7):方法区、元空间与字符串常量池
java·jvm·ai·博客·八股·大厂实习
java_logo1 个月前
Docker 部署 Halo:轻松搭建开源个人博客
docker·容器·开源·博客·开源博客·halo·轩辕镜像
承渊政道2 个月前
写博客一年后,我才发现:坚持这件事,本身就有意义
博客·创作纪念日·坚持
Rainy Blue8832 个月前
从零搭建个人动态博客
博客·wordpress
云水一下3 个月前
零基础玩转bWAPP靶场(五十五):XSS - Stored (Blog)
web安全·xss·blog·bwapp·stored
人工智能研究所4 个月前
ResearchStudio-Reel: 学术论文到海报、视频、博客的“最后一公里“
人工智能·microsoft·音视频·博客·ppt·学术论文·ai创作
X档案库4 个月前
【开源】我做了一套可以 AI 托管的 Markdown 博客与知识库
rust·博客·markdown·marksharex