Redis客戶端選型再分析
前言
當使用者讀到該篇文章時,大概率都在使用或準備即將使用Redis以及Jedis,這幾乎成了共識,尤其在SpringBoot 的良好支援下,採用Jedis幾乎成為了順理成章的事,儘管如此,我們還是應該把眼界放得再開些。
官方推薦的有三種:Jedis、Redisson和lettuce。
Jedis
- 輕量,簡潔,便於整合和改造
- 支援連線池
- 支援pipelining、事務、LUA Scripting、Redis Sentinel、Redis Cluster
- 不支援讀寫分離,需要自己實現
- 文件少,用例多,估計因為太簡單了
Redisson
- 基於Netty實現,採用非阻塞IO,效能高
- 支援非同步請求
- 支援連線池
- 支援pipelining、LUA Scripting、Redis Sentinel、Redis Cluster
- 不支援事務,官方建議以LUA Scripting代替事務
- 支援在Redis Cluster架構下使用pipelining
- 支援讀寫分離,支援讀負載均衡,在主從複製和Redis Cluster架構下都可以使用
- 內建Tomcat Session Manager,為Tomcat 6/7/8提供了會話共享功能
- 可以與Spring Session整合,實現基於Redis的會話共享
- 文件較豐富,有中文文件
Lettuce
- 與 Jedis 相比,Lettuce 則完全克服了其執行緒不安全的缺點。
- Lettuce 是一個可伸縮的執行緒安全的 Redis 客戶端,支援同步、非同步和響應式模式。多個執行緒可以共享一個連線例項,而不必擔心多執行緒併發問題。
- 它基於優秀 Netty NIO 框架構建。
- 支援 Redis 的高階功能,如 Sentinel,叢集,流水線,自動重新連線和 Redis 資料模型。
相關文章
- Redis 非同步客戶端選型及落地實踐Redis非同步客戶端
- Redis-客戶端Redis客戶端
- redis客戶端管理Redis客戶端
- redis客戶端的使用Redis客戶端
- Redis客戶端連線Redis客戶端
- Redis C客戶端APIRedis客戶端API
- 富客戶端開發技術選型薦客戶端
- Redis介紹 && Java客戶端操作RedisRedisJava客戶端
- redis:常用客戶端命令(redis-cli)Redis客戶端
- 初探 Redis 客戶端 Lettuce:真香!Redis客戶端
- Windows下安裝redis客戶端WindowsRedis客戶端
- mysql、redis 客戶端連線池MySqlRedis客戶端
- day03-Redis的客戶端Redis客戶端
- Redis 入門 - C#|.NET Core客戶端庫六種選擇RedisC#客戶端
- Redis學習筆記(十) 客戶端Redis筆記客戶端
- Redis客戶端連線數DevOpsRedis客戶端dev
- Redis的Pub/Sub客戶端實現Redis客戶端
- c#實現redis客戶端(一)C#Redis客戶端
- [轉載] 使用Redis的Java客戶端JedisRedisJava客戶端
- Go 實現簡易的 Redis 客戶端GoRedis客戶端
- Redis 客戶端 Jedis、lettuce 和 Redisson 對比Redis客戶端
- Redis從客戶端登入伺服器Redis客戶端伺服器
- 使用Java客戶端對Redis進行操作Java客戶端Redis
- Redis 是如何處理命令的(客戶端)Redis客戶端
- [轉]reids客戶端 redis-cli用法客戶端Redis
- Tars-Java客戶端原始碼分析Java客戶端原始碼
- Redis原始碼剖析——客戶端和伺服器Redis原始碼客戶端伺服器
- Redis客戶端管理神器RedisInsight 推薦Redis客戶端
- 深入剖析Redis客戶端Jedis的特性和原理Redis客戶端
- Redis 設計與實現 (四)--事件、客戶端Redis事件客戶端
- 常用的Redis客戶端的併發模型(轉)Redis客戶端模型
- redis伺服器/客戶端安裝與配置Redis伺服器客戶端
- Redis 6.0 客戶端快取的伺服器端實現Redis客戶端快取伺服器
- Redis系列(三)-Redis釋出訂閱及客戶端程式設計Redis客戶端程式設計
- Redis客戶端基本操作以及檢視慢查詢Redis客戶端
- redis客戶端實現高可用讀寫分離Redis客戶端
- 走近原始碼:Redis命令執行過程(客戶端)原始碼Redis客戶端
- 測試平臺系列(80) 封裝Redis客戶端封裝Redis客戶端