CRUG | Redisson PRO vs. Jedis: Which Is Faster?

作者/翻譯:張冬洪,Redis中國(guó)用戶組主席
什么是Redisson?



Redisson是一個(gè)在Redis的基礎(chǔ)上實(shí)現(xiàn)的Java駐內(nèi)存數(shù)據(jù)網(wǎng)格(In-Memory Data Grid)。它不僅提供了一系列的分布式的Java常用對(duì)象,還提供了許多分布式服務(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。Redisson提供了使用Redis的最簡(jiǎn)單和最便捷的方法。Redisson的宗旨是促進(jìn)使用者對(duì)Redis的關(guān)注分離(Separation of Concern),從而讓使用者能夠?qū)⒕Ω械胤旁谔幚順I(yè)務(wù)邏輯上。

項(xiàng)目介紹:https://github.com/redisson/redisson/wiki/Redisson%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D

特性&功能:

  • 每個(gè)Redis服務(wù)實(shí)例都能管理多達(dá)1TB的內(nèi)存
  • 完美的工作在云環(huán)境并且支持AWS ElastiCache,AWS ElastiCache Cluster 和 Azure Redis Cache
  • 支持Redis單節(jié)點(diǎn)(single)模式、哨兵(sentinel)模式、主從(Master/Slave)模式以及集群(Redis Cluster)模式
  • 程序接口調(diào)用方式采用異步執(zhí)行和異步流執(zhí)行兩種方式
  • 數(shù)據(jù)序列化,Redisson的對(duì)象編碼類是用于將對(duì)象進(jìn)行序列化和反序列化,以實(shí)現(xiàn)對(duì)該對(duì)象在Redis里的讀取和存儲(chǔ)
  • 單個(gè)集合數(shù)據(jù)分片,在集群模式下,Redisson為單個(gè)Redis集合類型提供了自動(dòng)分片的功能
  • 提供多種分布式對(duì)象,如:Object Bucket,Bitset,AtomicLong,Bloom Filter 和 HyperLogLog等
  • 提供豐富的分布式集合,如:Map,Multimap,Set,SortedSet,List,Deque,Queue等
  • 分布式鎖和同步器的實(shí)現(xiàn),可重入鎖(Reentrant Lock),公平鎖(Fair Lock),聯(lián)鎖(MultiLock),紅鎖(Red Lock),信號(hào)量(Semaphonre),可過期性信號(hào)鎖(PermitExpirableSemaphore)等
  • 提供先進(jìn)的分布式服務(wù),如分布式遠(yuǎn)程服務(wù)(Remote Service),分布式實(shí)時(shí)對(duì)象(Live Object)服務(wù),分布式執(zhí)行服務(wù)(Executor Service),分布式調(diào)度任務(wù)服務(wù)(Schedule Service)和分布式映射歸納服務(wù)(MapReduce)
  • 更多特性和功能,請(qǐng)關(guān)注官網(wǎng):http://redisson.org
interview.png

Redisson架構(gòu)


Redisson作為獨(dú)立節(jié)點(diǎn)可以用于獨(dú)立執(zhí)行其他節(jié)點(diǎn)發(fā)布到分布式執(zhí)行服務(wù) 和 分布式調(diào)度任務(wù)服務(wù)里的遠(yuǎn)程任務(wù)。架構(gòu)圖如下:

Redisson Structure.png

Redisson底層采用的是Netty 框架。支持Redis 2.8以上版本,支持Java1.6+以上版本。如果你現(xiàn)在正在使用其他的Redis的Java客戶端,那么Redis命令和Redisson對(duì)象匹配列表 能夠幫助你輕松的將現(xiàn)有代碼遷徙到Redisson框架里來。

性能


我們很多人都或多或少使用過Redis或了解過Redis,我們之所以選擇使用Redis,主要是基于Redis的高性能,對(duì)一般人的知識(shí)認(rèn)知,Redis的性能大約在55000 ~ 75000 QPS。然而對(duì)于Redisson Pro又將會(huì)帶給我們?cè)鯓拥捏@喜呢?

為了比較,我們選擇非常流行的Redis Java 客戶端 Jedis 和 Redisson Pro進(jìn)行對(duì)比。對(duì)比過程中主要選擇了非常通用的命令進(jìn)行壓測(cè):HSET,RPUSH、SADD、SET 和 INCR。

環(huán)境說明:

  1. 有效載荷大小為:6 bytes
  2. 測(cè)試所用機(jī)型:Core i7 3612QM 16GB內(nèi)存
  3. Benchmark 測(cè)試都是在同一機(jī)器上進(jìn)行,并且是針對(duì)單實(shí)例壓測(cè)

壓測(cè)結(jié)果展示:

INCR Time.png
INCR Throughput.png
SET Time.png
SET Throughput.png
SADD Time.png
SADD Throughput.png
RPUSH Time.png
RPUSH Throughput.png
HSET Time.png
HSET Throughput.png

總結(jié):

從上述提供的基準(zhǔn)壓測(cè)結(jié)果已經(jīng)非常清楚地表明Redisson Pro對(duì)于那些吞吐量和延遲敏感的系統(tǒng)是非常明智的選擇,Redisson Pro 要比Jedis 更能有效的充分利用現(xiàn)有的系統(tǒng)資源,從而提供高性能的服務(wù),從經(jīng)驗(yàn)中來看,Redisson Pro能夠提供高達(dá) 10w ~ 21.3w QPS,這也是官網(wǎng)極力推薦的原因(redis官網(wǎng)推薦https://redis.io/clients)。

到這里,或許你已經(jīng)非常充滿興趣了,但是仍然不解你的好奇心,那么就讓我來告訴你Redisson Pro 較開源版(Open Source)的區(qū)別吧 :)

Redisson PRO的主要優(yōu)點(diǎn):

  • Redis集群管理API,可以通過程序化的方式操作所有redis-trib.rb里的功能
  • Redis部署API,可以通過程序化的方式遠(yuǎn)程登錄一臺(tái)主機(jī)并部署、運(yùn)行Redis服務(wù)
  • 針對(duì)大容量的Map和Set實(shí)現(xiàn)自動(dòng)分片的功能,把一個(gè)大集合分割成幾個(gè)小的集合,然后將他們分布在Redis集群里。好處在于整個(gè)操作對(duì)用戶透明,同時(shí)增加該集合的吞吐量
  • 高速引擎,在高并發(fā)的情況下,專業(yè)版較開源版性能提升8倍,其中4倍吞吐量和兩倍的響應(yīng)速度
  • 提供Dropwizard的統(tǒng)計(jì)功能,可以用來實(shí)現(xiàn)使用情況的可視化
  • 更多介紹請(qǐng)參考:https://redisson.pro/

介紹到這里,不知道對(duì)大家有沒有一點(diǎn)點(diǎn)作用,如果能幫到你,此次整理總結(jié)就很欣慰了!對(duì)Redis中國(guó)用戶組(CRUG)有了解的同學(xué),很可能已經(jīng)知道了,CRUG是Redisson Pro中國(guó)區(qū)唯一授權(quán)代理經(jīng)銷商,為了給國(guó)內(nèi)的企業(yè)謀福利,通過CRUG購(gòu)買Pro版能夠享受更多更大的優(yōu)惠,另外為反饋社區(qū),回報(bào)技術(shù)群,首次對(duì)外發(fā)布《Redisson白皮書》,下載地址是:鏈接: https://pan.baidu.com/s/1bpISQMb 密碼: jc2t

購(gòu)買請(qǐng)聯(lián)系:crug@redis.cn 或致電:18612720739(張)垂詢

授權(quán)書.JPG

寫在最后:本文翻譯整理自https://github.com/redisson/redisson/wiki/1.-Overviewhttps://dzone.com/articles/redisson-pro-vs-jedis-which-is-faster,得到原作者Nikita Koksharow 允許。感謝另一位作者顧睿校審,有問題也可以通過我或直接聯(lián)系原作者。感謝大家閱讀~~~ 么么噠??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 Redis介紹1.1 什么是NoSql為了解決高并發(fā)、高可擴(kuò)展、高可用、大數(shù)據(jù)存儲(chǔ)問題而產(chǎn)生的數(shù)據(jù)庫(kù)解決方...
    克魯?shù)吕?/span>閱讀 5,746評(píng)論 0 36
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,699評(píng)論 19 139
  • 紫煊: 我親愛的寶貝! 咱家又要進(jìn)入爸爸出差模式。這兩天你就感受到爸爸出差綜合癥了。他各種不放心,...
    窚煊閱讀 330評(píng)論 0 1
  • 黃河之水天上來,三晉大地物產(chǎn)多。我是土生土長(zhǎng)的山西娃,我離不開山西的土地,我喜歡山西的面食…… ...
    汪溝小子閱讀 1,000評(píng)論 1 0
  • 變本加厲的在夢(mèng)中見到他。 分開的如此決絕冷漠,卻隨著時(shí)光遷移回憶變得越來越美好。夢(mèng)里面的我們那么的真實(shí),真實(shí)到他向...
    cherry火小姐閱讀 335評(píng)論 0 0

友情鏈接更多精彩內(nèi)容