(二)連接Redis汤求,Lettuce與Jedis客戶端

1.Redis 支持數(shù)據(jù)的持久化,它可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中肴楷,重啟的時候可以再次加載進行使用水由。
2.Redis 不僅僅支持簡單的 key-value 類型的數(shù)據(jù),同時還提供 list赛蔫,set砂客,zset,hash 等數(shù)據(jù)結(jié)構(gòu)的存儲濒募。
3.Redis 支持數(shù)據(jù)的備份鞭盟,即 master-slave 模式的數(shù)據(jù)備份。

Redis優(yōu)勢

1.性能極高瑰剃。Redis 能讀的速度是 110000 次/s齿诉,寫的速度是 81000 次/s。
2.豐富的數(shù)據(jù)類型晌姚。Redis 支持二進制案例的 Strings粤剧,Lists,Sets 及 Ordered Sets 數(shù)據(jù)類型操作挥唠。
3.原子性抵恋。Redis 所有的操作都是原子性的,意思是要么成功執(zhí)行要么失敗完全不執(zhí)行宝磨。單個操作是原子性的弧关,多個操作也是,通過 MULTI 和 EXEC 指令抱起來唤锉。
4.豐富的特性世囊。Redis 還支持 publish/subscribe,通知窿祥,key 過期等特性株憾。

Lettuce

從 Spring Boot 2.x 開始 Lettuce 已取代 Jedis 成為首選 Redis 的客戶端。當(dāng)然 Spring Boot 2.x 仍然支持 Jedis晒衩,并且你可以任意切換客戶端嗤瞎。

Lettuce 是一個可伸縮的線程安全的 Redis 客戶端,支持同步听系、異步和響應(yīng)式模式贝奇。多個線程可以共享一個連接實例,而不必擔(dān)心多線程并發(fā)問題靠胜。它基于優(yōu)秀 Netty NIO 框架構(gòu)建弃秆,支持 Redis 的高級功能届惋,如 Sentinel、集群菠赚、流水線脑豹、自動重新連接和 Redis 數(shù)據(jù)模型
Jedis 在實現(xiàn)上是直接連接的 redis server,如果在多線程環(huán)境下是非線程安全的衡查,這個時候只有使用連接池瘩欺,為每個 Jedis 實例增加物理連接。
Lettuce 的連接是基于 Netty 的拌牲,連接實例 (StatefulRedisConnection) 可以在多個線程間并發(fā)訪問俱饿,應(yīng)為 StatefulRedisConnection 是線程安全的,所以一個連接實例 (StatefulRedisConnection) 就可以滿足多線程環(huán)境下的并發(fā)訪問塌忽,當(dāng)然這個也是可伸縮的設(shè)計拍埠,一個連接實例不夠的情況也可以按需增加連接實例。

使用Lecttuce

使用Lecttuce需要再引用一個包

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
</dependency>

配置

# lettuce 客戶端配置(從 Spring Boot 2.x 開始土居,推薦使用 lettuce 客戶端)
# 建立連接最大等待時間枣购,默認1ms,超出該時間會拋異常擦耀。設(shè)為-1表示無限等待棉圈,直到分配成功。
spring.redis.lettuce.pool.max-wait=1ms
# 最大連連接數(shù)眷蜓,默認為8分瘾,負值表示沒有限制
spring.redis.lettuce.pool.max-active=8
# 最大空閑連接數(shù),默認8。負值表示沒有限制
spring.redis.lettuce.pool.max-idle=8
# 最小空閑連接數(shù),默認0吁系。
spring.redis.lettuce.pool.min-idle=0
# 設(shè)置關(guān)閉連接的超時時間
spring.redis.lettuce.shutdown-timeout=100ms

org.springframework.boot.autoconfigure.data.redis.RedisProperties中集成了Jedis與Lettuce德召。

        // 哨兵
    private Sentinel sentinel;
        // 集群配置
    private Cluster cluster;

    private final Jedis jedis = new Jedis();

    private final Lettuce lettuce = new Lettuce();

Redis客戶端的幾種實現(xiàn)

概念:

Jedis:是Redis的Java實現(xiàn)客戶端,提供了比較全面的Redis命令的支持汽纤,

Redisson:實現(xiàn)了分布式和可擴展的Java數(shù)據(jù)結(jié)構(gòu)上岗。

Lettuce:高級Redis客戶端,用于線程安全同步冒版,異步和響應(yīng)使用,支持集群逞姿,Sentinel辞嗡,管道和編碼器。

優(yōu)點:

Jedis:比較全面的提供了Redis的操作特性

Redisson:促使使用者對Redis的關(guān)注分離滞造,提供很多分布式相關(guān)操作服務(wù)续室,例如,分布式鎖谒养,分布式集合挺狰,可通過Redis支持延遲隊列

Lettuce:主要在一些分布式緩存框架上使用比較多

可伸縮:

Jedis:使用阻塞的I/O明郭,且其方法調(diào)用都是同步的,程序流需要等到sockets處理完I/O才能執(zhí)行丰泊,不支持異步薯定。Jedis客戶端實例不是線程安全的,所以需要通過連接池來使用Jedis瞳购。

Redisson:基于Netty框架的事件驅(qū)動的通信層话侄,其方法調(diào)用是異步的。Redisson的API是線程安全的学赛,所以可以操作單個Redisson連接來完成各種操作

Lettuce:基于Netty框架的事件驅(qū)動的通信層年堆,其方法調(diào)用是異步的。Lettuce的API是線程安全的盏浇,所以可以操作單個Lettuce連接來完成各種操作

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末变丧,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子绢掰,更是在濱河造成了極大的恐慌痒蓬,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件曼月,死亡現(xiàn)場離奇詭異谊却,居然都是意外死亡,警方通過查閱死者的電腦和手機哑芹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門炎辨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人聪姿,你說我怎么就攤上這事碴萧。” “怎么了末购?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵破喻,是天一觀的道長。 經(jīng)常有香客問我盟榴,道長曹质,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任擎场,我火速辦了婚禮羽德,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘迅办。我一直安慰自己宅静,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布站欺。 她就那樣靜靜地躺著姨夹,像睡著了一般纤垂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上磷账,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天峭沦,我揣著相機與錄音,去河邊找鬼够颠。 笑死熙侍,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的履磨。 我是一名探鬼主播蛉抓,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剃诅!你這毒婦竟也來了巷送?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤矛辕,失蹤者是張志新(化名)和其女友劉穎笑跛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聊品,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡飞蹂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了翻屈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陈哑。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖伸眶,靈堂內(nèi)的尸體忽然破棺而出惊窖,到底是詐尸還是另有隱情,我是刑警寧澤厘贼,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布界酒,位于F島的核電站,受9級特大地震影響嘴秸,放射性物質(zhì)發(fā)生泄漏毁欣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一岳掐、第九天 我趴在偏房一處隱蔽的房頂上張望凭疮。 院中可真熱鬧,春花似錦岩四、人聲如沸哭尝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽材鹦。三九已至,卻和暖如春耕姊,著一層夾襖步出監(jiān)牢的瞬間桶唐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工茉兰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尤泽,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓规脸,卻偏偏與公主長得像坯约,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子莫鸭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,527評論 2 349

推薦閱讀更多精彩內(nèi)容