前言
今天給大家推薦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,自薦(讓優秀的專案和框架不被埋沒