MemoryCacheHelper与RedisCacheHelper缓存集成与测试笔记
因为每次在新项目中需要花费大量时间在基础类库搬移、调试。为了节省时间(偷懒)就将MemoryCacheHelper/RedisHelper进行了封装
本次是关于缓存方面记录,源码请参考(包含RedisHelper与MemoryCacheHelper):https://github.com/billowliu2/Bill.Cache
一、使用方式
安装Nuget包之前需要创建config文件夹
1、依赖注入使用方式(Nuget安装Bill.CacheIntegration、Microsoft.Extensions.DependencyInjection)

using Bill.CacheAbstract; using Bill.CacheIntegration; using Microsoft.Extensions.DependencyInjection; using System; namespace Bill.CacheDITest { class Program { static void Main(string[] args) { //Console.WriteLine("Hello World!"); IServiceCollection services = new ServiceCollection(); services.AddCache(); IServiceProvider serviceProvider = services.BuildServiceProvider(); //根据配置config/Cache.json文件中的枚举Model选项自动选择(默认Redis) var Cache = serviceProvider.GetService<ICacheHandler>(); Cache.Set("b", "v"); var value = Cache.Get("b"); Console.WriteLine(value); } } }
2、普通引用方式(Nuget安装Bill.CommonCache)

using System; using Bill.CommonCache.Helper; using Bill.CommonCache; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; namespace Bill.CacheTest { class Program { static void Main(string[] args) { //Config { //var options = new JsonConfigurationHelper().Get<CacheOptions>("Cache", "", true); //if (options == null) // Console.WriteLine("配置文件错误"); } //MemeoryCache { IMemoryCache memory = new MemoryCache(Options.Create(new MemoryCacheOptions())); ICacheHandler MemoryCahce = new MemoryCacheHandler(memory); MemoryCahce.Set("a", "测试内存缓存"); MemoryCahce.Get("a"); Console.WriteLine(MemoryCahce.Get("a")); } //RedisCache { var Redis = new RedisCacheHelper(); ICacheHandler RedisCache = new RedisCacheHandler(Redis); RedisCache.Set("b","测试Redis缓存"); RedisCache.Get("b"); Console.WriteLine(RedisCache.Get("b")); } } } }
需要注意的是安装Nuget完成后会自定生成Cache.Json文件在config文件夹中需要进行如下修改(否则会报错)
测试结果:
二、Nuget源码~
请参考:https://github.com/billowliu2/Bill.Cache
Bill.CommonCache主要在不使用IoC模式时使用(普通引用)
Bill.CacheIntegration主要基于官方提供的Microsoft.Extensions.DependencyInjection中注册使用(依赖注入)
仅仅个人记录参考,不喜勿喷~
作者:刘涛(Bill)
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、抄袭、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个无耻的文档搬运工!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫