redis專題系列21 -- redis常用Java開源框架

在Java開發中,對於redis的常用框架有3個,分別是Jedis,Lettuce和Redisson,下面分別針對他們進行一個全面的分析和用法示例。

Jedis

Jedis是Redis的Java實現的客戶端,其API提供了比較全面的Redis命令的支持。支持基本的數據類型如:String、Hash、List、Set、Sorted Set。
優點:比較全面的提供了Redis的操作特性,相比於其他Redis 封裝框架更加原生。
編程模型: 使用阻塞的I/O,方法調用同步,程序流需要等到socket處理完I/O才能執行,不支持異步操作。Jedis客戶端實例不是線程安全的,所以需要通過連接池來使用Jedis。

Lettuce

高級Redis客戶端,用於線程安全同步,異步和響應使用,支持集群,Sentinel,管道和編碼器。
優點:適合分佈式緩存框架。
編程模型:基於Netty框架的事件驅動的通信層,其方法調用是異步的。Lettuce的API是線程安全的,所以可以操作單個Lettuce連接來完成各種操作。

Redisson

Redisson實現了分佈式和可擴展的Java數據結構。Redisson不僅提供了一系列的分佈式Java常用對象,基本可以與Java的基本數據結構通用,還提供了許多分佈式服務。


優點: 促使使用者對Redis的關注分離,讓使用者能夠將精力更集中地放在處理業務邏輯上,提供很多分佈式相關操作服務,例如,分佈式鎖,分佈式集合,可通過Redis支持延遲隊列。
第三方框架整合

  • 提供了和Spring框架的各項特性類似的,以Spring XML的命名空間的方式配置RedissonClient實例和它所支持的所有對象和服務
  • 在Redis的基礎上實現了Java緩存標準規範,並完整的實現了Spring框架裡的緩存機制
  • 提供了Spring Session會話管理器的實現

編程模型:基於Netty框架的事件驅動的通信層,其方法調用是異步的。Redisson的API是線程安全的,所以可以操作單個Redisson連接來完成各種操作。


分享到:


相關文章: