1、redisTemplate是基於某個具體實現的再封裝,比如說springBoot1.x時,具體實現是jedis;而到了springBoot2.x時,具體實現變成了lettuce。封裝的好處就是隱藏了具體的實現,使調用更簡單,但是有人測試過jedis效率要10-30倍的高於redisTemplate的執行效率,所以單從執行效率上來講,jedis完爆redisTemplate。redisTemplate的好處就是基於springBoot自動裝配的原理,使得整合redis時比較簡單。
2、jedis作為老牌的redis客戶端,采用同步阻塞式IO,采用線程池時是線程安全的。優點是簡單、靈活、api全面,缺點是某些redis高級功能需要自己封裝。
3、lettuce作為新式的redis客戶端,基於netty采用異步非阻塞式IO,是線程安全的,優點是提供了很多redis高級功能,例如集群、哨兵、管道等,缺點是api抽象,學習成本高。lettuce好是好,但是jedis比他生得早。
4、redission作為redis的分布式客戶端,同樣基於netty采用異步非阻塞式IO,是線程安全的,優點是提供了很多redis的分布式操作和高級功能,缺點是api抽象,學習成本高。
中文文檔:https://github.com/redisson/redisson/wiki
綜上所述:單機並發量低時優先選擇jedis,分布式高並發時優先選擇redission。
————————————————
版權聲明:本文為CSDN博主「>no problem<」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_40925189/article/details/109580439