欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Redis框架Jedis及Redisson對(duì)比解析

 更新時(shí)間:2020年07月24日 15:49:46   作者:騰逸  
這篇文章主要介紹了Redis框架Jedis及Redisson對(duì)比解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

1概述

1.1. 主要內(nèi)容

本文的主要內(nèi)容為對(duì)比Redis的兩個(gè)框架:Jedis與Redisson,分析各自的優(yōu)勢(shì)與缺點(diǎn),為項(xiàng)目中Java緩存方案中的Redis編程模型的選擇提供參考。

2. Jedis與Redisson對(duì)比

2.1. 概況對(duì)比

Jedis是Redis的Java實(shí)現(xiàn)的客戶端,其API提供了比較全面的Redis命令的支持;Redisson實(shí)現(xiàn)了分布式和可擴(kuò)展的Java數(shù)據(jù)結(jié)構(gòu),和Jedis相比,功能較為簡單,不支持字符串操作,不支持排序、事務(wù)、管道、分區(qū)等Redis特性。Redisson的宗旨是促進(jìn)使用者對(duì)Redis的關(guān)注分離,從而讓使用者能夠?qū)⒕Ω械胤旁谔幚順I(yè)務(wù)邏輯上。

2.2. 編程模型

Jedis中的方法調(diào)用是比較底層的暴露的Redis的API,也即Jedis中的Java方法基本和Redis的API保持著一致,了解Redis的API,也就能熟練的使用Jedis。而Redisson中的方法則是進(jìn)行比較高的抽象,每個(gè)方法調(diào)用可能進(jìn)行了一個(gè)或多個(gè)Redis方法調(diào)用。

如下分別為Jedis和Redisson操作的簡單示例:

Jedis設(shè)置key-value與set操作:

Jedis jedis = …;

jedis.set("key", "value");

List<String> values = jedis.mget("key", "key2", "key3");

Redisson操作map:

Redisson redisson = …

RMap map = redisson.getMap("my-map"); // implement java.util.Map

map.put("key", "value");

map.containsKey("key");

map.get("key");

2.3. 可伸縮性

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

Redisson使用非阻塞的I/O和基于Netty框架的事件驅(qū)動(dòng)的通信層,其方法調(diào)用是異步的。Redisson的API是線程安全的,所以可以操作單個(gè)Redisson連接來完成各種操作。

2.4. 數(shù)據(jù)結(jié)構(gòu)

Jedis僅支持基本的數(shù)據(jù)類型如:String、Hash、List、Set、Sorted Set。

Redisson不僅提供了一系列的分布式Java常用對(duì)象,基本可以與Java的基本數(shù)據(jù)結(jié)構(gòu)通用,還提供了許多分布式服務(wù),其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish / Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service)。

在分布式開發(fā)中,Redisson可提供更便捷的方法。

2.5. 第三方框架整合

1 Redisson提供了和Spring框架的各項(xiàng)特性類似的,以Spring XML的命名空間的方式配置RedissonClient實(shí)例和它所支持的所有對(duì)象和服務(wù);

2 Redisson完整的實(shí)現(xiàn)了Spring框架里的緩存機(jī)制;

3 Redisson在Redis的基礎(chǔ)上實(shí)現(xiàn)了Java緩存標(biāo)準(zhǔn)規(guī)范;

4 Redisson為Apache Tomcat集群提供了基于Redis的非黏性會(huì)話管理功能。該功能支持Apache Tomcat的6、7和8版。

5Redisson還提供了Spring Session會(huì)話管理器的實(shí)現(xiàn)

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論