FusionCache - 开源强大的 .NET 多级缓存框架

a329553bab742ac664f71d5e85818a70.gif

unsetunsetFusionCacheunsetunset

FusionCache 是一个使用 C# 编写的开源缓存框架,它的特点是开箱即用,具有高级弹性功能和可选的分布式缓存支持。

ffcda596e061cf4147c1ce1e63d72d8a.png

经过多年处理各种不同类型的缓存后,包括内存缓存、分布式缓存、http 缓存、CDN、浏览器缓存、离线缓存等等,我尝试将这些经验结合起来, 发起了 FusionCache 项目。

dccc865edc2b426ba28aef2d2ab73ddf.png

它使用内存缓存(标准 IMemoryCache 接口的任何实现)作为主要存储,并且可选分布式二级缓存(标准 IDistributedCache 接口的任何实现)作为辅助存储,这样可以实现更好的弹性和更高的性能。

在多节点分布式场景中,缓存变化时,每个节点会自动发送通知,来保持所有涉及的内存缓存完美同步,这些都是框架自动完成的。

unsetunset快速入门unsetunset

首先,通过 Nuget 安装 FusionCache。

PM> Install-Package ZiggyCreatures.FusionCache

注册 FusionCache 服务,如下

services.AddFusionCache()
 .WithDefaultEntryOptions(new FusionCacheEntryOptions {
  Duration = TimeSpan.FromMinutes(2)
 })

现在,要从缓存中获取产品,如果不存在,就从数据库获取并设置了缓存和时间。

var id = 42;

cache.GetOrSet<Product>(
 $"product:{id}",
 _ => GetProductFromDb(id),
 TimeSpan.FromSeconds(30)
);

就是这么简单~

项目集成使用 FusionCache 后,整体性能提升非常明显。

47bc18b7e3343ca19cdf473317a994aa.png

FusionCache 对分布式缓存的支持非常完善,FusionCache 可以保证多节点缓存更新的自动同步,以及节点故障后的自动恢复。

31ac02af5b8dee982b524fe5847039b8.png

项目地址

https://github.com/ZiggyCreatures/FusionCache

往期推荐

20f008a7eb21d190e4df0cd312f5ecff.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值