若是你在網上搜索Redis
的Java
客戶端,你會發現,大多數文獻介紹的都是 Jedis。
不能否認,Jedis
是一個優秀的基於Java
語言的Redis
客戶端。
可是,其不足也很明顯:Jedis
在實現上是直接鏈接Redis-Server
,在多個線程間共享一個Jedis
實例時是線程不安全的,若是想要在多線程場景下使用Jedis
,須要使用鏈接池,每一個線程都使用本身的Jedis
實例,當鏈接數量增多時,會消耗較多的物理資源
。git
與Jedis
相比,Lettuce
則徹底克服了其線程不安全的缺點:Lettuce
是一個可伸縮的線程安全的Redis
客戶端,支持同步、異步和響應式模式。
多個線程能夠共享一個鏈接實例
,而沒必要擔憂多線程併發問題。
它基於優秀Netty NIO
框架構建,支持Redis
的高級功能,如Sentinel
,集羣,流水線,自動從新鏈接和Redis
數據模型。程序員
引用連接安全
PS:
若是您以爲個人文章對您有幫助,請關注個人微信公衆號,謝謝!
微信