前言
今天給大家推薦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開源地址
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開源地址
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開源地址
StackExchange.Redis
專案介紹
StackExchange.Redis是一個基於.NET的高效能Redis客戶端,提供了完整的Redis資料庫功能支援,並且具有多節點支援、非同步程式設計模型、Redis叢集支援等特性,使得與Redis資料庫的互動更加靈活、高效。
專案特性
- 高效能的多路複用設計,可以高效地利用來自多個呼叫執行緒的共享連線
- 對redis節點配置進行抽象:客戶端可以靜默地協商多個redis伺服器,以提高魯棒性和可用性
- 方便訪問完整的redis功能集
- 完整的雙重程式設計模型,支援同步和非同步使用,無需使用TPL的"同步轉非同步"
- 支援redis "cluster"
請注意,以上翻譯結果以markdown格式輸出。
GitHub開源地址
優秀專案和框架精選
該專案已收錄到C#/.NET/.NET Core優秀專案和框架精選中,關注優秀專案和框架精選能讓你及時瞭解C#、.NET和.NET Core領域的最新動態和最佳實踐,提高開發效率和質量。坑已挖,歡迎大家踴躍提交PR,自薦(讓優秀的專案和框架不被埋沒?
)。
https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
加入DotNetGuide技術交流群
1、提供.NET開發者分享自己優質文章的群組和獲取更多全面的C#/.NET/.NET Core學習資料、影片、文章、書籍,社群組織,工具和常見面試題資源,幫助大家更好地瞭解和使用 .NET技術。
2、在這個群裡,開發者們可以分享自己的專案經驗、遇到的問題以及解決方案,傾聽他人的意見和建議,共同成長與進步。
3、可以結識更多志同道合的開發者,甚至可能與其他開發者合作完成有趣的專案。透過這個群組,我們希望能夠搭建一個積極向上、和諧友善的.NET技術交流平臺,為廣大.NET開發者帶來更多的價值。