4款.NET開源的Redis客戶端驅動庫

追逐時光者發表於2023-10-12

前言

今天給大家推薦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

加入DotNetGuide技術交流群

1、提供.NET開發者分享自己優質文章的群組和獲取更多全面的C#/.NET/.NET Core學習資料、影片、文章、書籍,社群組織,工具和常見面試題資源,幫助大家更好地瞭解和使用 .NET技術。
2、在這個群裡,開發者們可以分享自己的專案經驗、遇到的問題以及解決方案,傾聽他人的意見和建議,共同成長與進步。
3、可以結識更多志同道合的開發者,甚至可能與其他開發者合作完成有趣的專案。透過這個群組,我們希望能夠搭建一個積極向上、和諧友善的.NET技術交流平臺,為廣大.NET開發者帶來更多的價值。

歡迎加入DotNetGuide技術交流群?

相關文章