网站首页 > 开源技术 正文
EasyCaching 是一个开源的缓存库,旨在简化缓存的使用和管理。它提供了多种缓存提供程序,包括内存缓存(InMem)ory)、Redis、Memcached 和 SQLite 等。其中,EasyCaching.InMemory 是基于内存的缓存实现,适用于本地缓存场景。
基本使用
第一步:安装包
选择你需要的缓存提供程序,并通过 NuGet 安装它。
Install-Package EasyCaching.InMemory
EasyCaching 的 NuGet 其他扩展包:
缓存提供程序
- o EasyCaching.Core:核心库,提供基本的缓存功能。
- o EasyCaching.InMemory:内存缓存提供程序。
- o EasyCaching.Redis:基于 Redis 的分布式缓存提供程序。
- o EasyCaching.Memcached:基于 Memcached 的分布式缓存提供程序。
- o EasyCaching.SQLite:基于 SQLite 的缓存提供程序。
- o EasyCaching.HybridCache:结合本地缓存和分布式缓存的混合缓存提供程序。
- o EasyCaching.CSRedis:基于 CSRedis 的缓存提供程序。
- o EasyCaching.FreeRedis:基于 FreeRedis 的缓存提供程序。
- o EasyCaching.FasterKv:基于 FasterKv 的缓存提供程序。
- o EasyCaching.Disk:基于磁盘的缓存提供程序。
- o EasyCaching.LiteDB:基于 LiteDB 的缓存提供程序。
缓存拦截器
- o EasyCaching.Interceptor.Castle:使用 Castle 的缓存拦截器。
- o EasyCaching.Interceptor.AspectCore:使用 AspectCore 的缓存拦截器。
序列化支持
- o EasyCaching.Serialization.MessagePack:基于 MessagePack 的序列化支持。
- o EasyCaching.Serialization.Json:基于 Json 的序列化支持。
- o EasyCaching.Serialization.SystemTextJson:基于 System.Text.Json 的序列化支持。
- o EasyCaching.Serialization.Protobuf:基于 Protobuf 的序列化支持。
- o EasyCaching.Serialization.MemoryPack:基于 MemoryPack 的序列化支持。
消息总线集成
- o EasyCaching.Bus.RabbitMQ:与 RabbitMQ 消息总线集成。
- o EasyCaching.Bus.RabbitMQStream:与 RabbitMQ Stream 消息总线集成。
- o EasyCaching.Bus.Redis:与 Redis 消息总线集成。
- o EasyCaching.Bus.CSRedis:与 CSRedis 消息总线集成。
- o EasyCaching.Bus.ConfluentKafka:与 Confluent Kafka 消息总线集成。
- o EasyCaching.Bus.Zookeeper:与 Zookeeper 消息总线集成。
其他
- o EasyCaching.ResponseCaching:响应式缓存支持。
第二步:配置 Startup 类
每个缓存提供程序都有自己的配置选项。以下是一个 InMemory 和 Redis 缓存提供程序的示例配置:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddEasyCaching(options =>
{
// 使用名为 "default" 的内存缓存
options.UseInMemory("default");
// 使用 Redis 缓存,命名为 "redis1"
options.UseRedis(config =>
{
config.DBConfig.Endpoints.Add(new ServerEndPoint("127.0.0.1", 6379));
}, "redis1")
.WithMessagePack(); // 使用 MessagePack 序列化
});
}
}
第三步:在控制器中编写代码
以下是如何在控制器中使用缓存:
[Route("api/[controller]")]
public class ValuesController : Controller
{
private readonly IEasyCachingProviderFactory _factory;
public ValuesController(IEasyCachingProviderFactory factory)
{
this._factory = factory;
}
[HttpGet]
public async Task<string> Handle()
{
// 获取名为 "redis1" 的缓存提供程序
var provider = _factory.GetCachingProvider("redis1");
// 设置缓存
provider.Set("demo", "123", TimeSpan.FromMinutes(1));
// 异步设置缓存
await provider.SetAsync("demo", "123", TimeSpan.FromMinutes(1));
return "缓存设置成功!";
}
}
文档
详细的 EasyCaching 文档可以参考 官方文档。
总结
EasyCaching.InMemory 是一个功能强大且易于使用的本地缓存解决方案,特别适合需要快速访问本地缓存数据的场景。通过简单的安装和配置,开发者可以轻松地将其集成到项目中,提升应用性能。
如果你觉得这篇文章对你有帮助,欢迎点赞、收藏并分享给更多我们!让我们一起学习,共同进步!
- 上一篇: 兰亭集势建海外版微店
- 下一篇: 基于uniapp开发的前端低代码平台附源码
猜你喜欢
- 2025-04-27 谁是2020年最强Python库?年度Top10出炉
- 2025-04-27 基于uniapp开发的前端低代码平台附源码
- 2024-08-24 基于 Express 应用框架的技术方案选型浅谈
- 2024-08-24 Swoole难上手?从EasySwoole开始(swoole用的多吗)
- 2024-08-24 使用API自动生成工具优化前端工作流
- 2024-08-24 Spring Boot | 集成 EasyExcel 实现数据导入导出功能
- 2024-08-24 国产后端框架 HttpEasy 横空出世,基于cbrother,别用php了
- 2024-08-24 EasyCaching——超级强大的开源缓存库
- 2024-08-24 使用Swager API Docs和easy-mock生成模拟数据
- 2024-08-24 ASP.NET Core中使用EasyCaching作为缓存抽象层
你 发表评论:
欢迎- 04-27谁是2020年最强Python库?年度Top10出炉
- 04-27基于uniapp开发的前端低代码平台附源码
- 04-27EasyCaching:让缓存更简单!
- 04-27兰亭集势建海外版微店
- 04-27获取流量的方法论,简单才有效
- 04-27微信官方跑去卖手机壳?48元你买不
- 04-27投入1.7万亿美元推进核武器现代化,美国干的这件事比贸易讹诈更危险!
- 04-27抓住毒枭儿子的墨西哥警察遭报复,停车场内被围堵射击155枪
- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)