前言
今天给大家推荐4款.NET开源免费的Redis客户端驱动库(以下排名不分先后)。
Redis是什么?
Redis全称是REmote DIctionary Service,即远程字典服务。Redis 是一个使用C语言编写的、开源的(遵守 BSD 协议)、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库。
NewLife.Redis
项目介绍
- NewLife.Redis 是一个Redis客户端组件,以高性能处理大数据实时计算为目标。
- Redis协议基础实现Redis/RedisClient位于X组件,本库为扩展实现,主要增加列表结构、哈希结构、队列等高级功能。
- 支持.NETCore/.NET4.0/.NET4.5,为大数据与消息队列而特别优化,线上单应用日均100亿调用量。
项目特性
- 在ZTO大数据实时计算广泛应用,200多个Redis实例稳定工作一年多,每天处理近1亿包裹数据,日均调用量80亿次。
- 低延迟,Get/Set操作平均耗时200~600us(含往返网络通信)。
- 大吞吐,自带连接池,最大支持1000并发。
- 高性能,支持二进制序列化。
GitHub开源地址
https://github.com/NewLifeX/NewLife.Redis
csredis
项目介绍
.NET Core或.NET Framework 4.0+ Redis客户端,用于Redis、Redis Sentinel(2.8)和Cluster。包括同步和异步客户端。
项目特性
- CSRedisClient和RedisHelper:保持所有方法名称与redis-cli一致
- 支持geo类型命令(需要redis-server 3.2或更高版本)
- 支持Redis Cluster redis-trib.rb
- 支持Redis Sentinel和主从模式
- 支持stream类型命令(需要redis-server 5.0及以上版本)
GitHub开源地址
https://github.com/2881099/csredis
FreeRedis
项目介绍
基于.NET的Redis客户端,支持 .NET Core 2.1+、.NET Framework 4.0+ 以及 Xamarin。它支持集群、哨兵、主从、发布订阅、Lua脚本、管道、事务、流、客户端缓存以及连接池等功能。
项目特性
- 所有方法名与 redis-cli 保持一致
- 支持 Redis 集群(服务端要求 3.2 及以上版本)
- 支持 Redis 哨兵模式
- 支持主从分离(Master-Slave)
- 支持发布订阅(Pub-Sub)
- 支持 Redis Lua 脚本
- 支持管道(Pipeline)
- 支持事务
- 支持 GEO 命令(服务端要求 3.2 及以上版本)
- 支持 STREAM 类型命令(服务端要求 5.0 及以上版本)
- 支持本地缓存(Client-side-cahing,服务端要求 6.0 及以上版本)
- 支持 Redis 6 的 RESP3 协议
GitHub开源地址
https://github.com/2881099/FreeRedis
StackExchange.Redis
项目介绍
StackExchange.Redis是一个基于.NET的高性能Redis客户端,提供了完整的Redis数据库功能支持,并且具有多节点支持、异步编程模型、Redis集群支持等特性,使得与Redis数据库的交互更加灵活、高效。
项目特性
- 高性能的多路复用设计,可以高效地利用来自多个调用线程的共享连接
- 对redis节点配置进行抽象:客户端可以静默地协商多个redis服务器,以提高鲁棒性和可用性
- 方便访问完整的redis功能集
- 完整的双重编程模型,支持同步和异步使用,无需使用TPL的"同步转异步"
- 支持redis "cluster"
请注意,以上翻译结果以markdown格式输出。
GitHub开源地址
https://github.com/StackExchange/StackExchange.Redis
优秀项目和框架精选
该项目已收录到C#/.NET/.NET Core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解C#、.NET和.NET Core领域的最新动态和最佳实践,提高开发效率和质量。坑已挖,欢迎大家踊跃提交PR,自荐(让优秀的项目和框架不被埋没🤞)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md