.NET 6种开源的缓存组件,你用过吗?

.NET Core的缓存组件你用过哪些呢?Microsoft Caching吗?其实还有一些开源好用的缓存组件 。下面是收集github中开源的缓存组件,感兴趣的童鞋可以点击链接去看看详细使用说明。

1、CacheManager 

用C#编写的.NET的开源缓存抽象层。它支持各种缓存提供程序并实现许多高级功能。

CacheManager 包的主要目标是让开发人员的生活更容易处理,即使是非常复杂的缓存场景。使用 CacheManager 可以实现多层缓存,例如在分布式缓存前的进程内缓存,只需几行代码。.

CacheManager 不仅仅是一个统一各种缓存提供者的编程模型的接口,这将使以后在项目中更改缓存策略变得非常容易。它还提供其他功能,例如缓存同步、并发更新、序列化、事件、性能计数器……开发人员只有在需要时才可以选择加入这些功能。

使用案例请参考开源地址。

开源地址:https://github.com/MichaCo/CacheManager

2、EasyCaching

开源缓存库,包含基本用法和缓存的一些高级用法,可以帮助我们更轻松地处理缓存。

EasyCaching 也是跟CacheManager 类似的缓存组件,从它名字就可以看出,它的宗旨是让使用缓存更容易。

EasyCaching主要提供了下面的几个功能:
1)统一的抽象缓存接口。
2)多种常用的缓存Provider(InMemory,Redis,Memcached,SQLite)。
3)为分布式缓存的数据序列化提供了多种选择 。  4)支持二级缓存
5)缓存的AOP操作(able, put,evict)  。    6)多实例支持

7)支持Diagnostics 。     8)Redis的特殊Provider

开源地址:https://github.com/dotnetcore/EasyCaching
 
3、Faster
Microsoft官方推出的快速key,value存储库。号称迄今为止最快的并发键值存储。
FASTER支持三种基本操作:
Read:从键值存储中读取数据
Upsert:将值盲目向上插入到存储中(不检查先前的值)
Read-Modify-Write:更新存储区中的值,用于实现“求和”和“计数”之类的操作。

开源地址:https://github.com/Microsoft/FASTER/tree/master/cs

4、Foundatio 

 用于构建分布式应用程序的可插入基础库。
Foundatio可以让你很方便的通过一致的接口来使用分布式存储了,包括内存文件存储、文件夹文件存储,Azure文件存储,AWS S3文件存储。
如果你是面对接口(抽象)构建的程序,你可以很容易使用Foundatio对接口实现进行切换。
具有友好的依赖注入,还在使用 .Net Framework的朋友可以体验一下,它具有比Autofac,Unity等更简易的操作和更友好的接口。
可以更加方便地使用缓存了,Foundatio帮助我们封装了很多缓存的客户端实现,比如RedisCache、InMemoryCache、ScopedCache等等。
消息总线,你不必自己构建或者使用复杂且昂贵的NServiceBus了,很多时候我们仅仅需要的是一个可以在本地或者云上运行的简单的消息总线。
Foundatio的主要模块包含:缓存(Caching)、队列(Queues)、锁(Locks)、消息(Messaging)、工作任务(Jobs)、文件存储(File Storage)、度量(Metrics)、日志(Logging)

主要用于分布式环境。

开源地址:https://github.com/exceptionless/Foundatio

5、Microsoft Caching 

微软官方.NET自带,用于内存缓存和分布式缓存的库。Microsoft Caching 是内存中、微软 SQL Server 和 Redis 的分布式缓存实现。这里就不多说了,可以翻阅微软官方文档。

开源地址:https://github.com/aspnet/Caching

6、StackExchange Redis

用于.NET语言的高性能通用redis客户端。这是redis官方的C#操作redis组件。这个估计是大家使用最多的组件了吧。这个就不多讲了,参考官方文档。
文档地址:https://stackexchange.github.io/StackExchange.Redis/

开源地址:https://github.com/StackExchange/StackExchange.Redis