作者/翻譯:張冬洪窗宦,Redis中國用戶組主席
什么是Redisson?
Redisson是一個在Redis的基礎上實現(xiàn)的Java駐內(nèi)存數(shù)據(jù)網(wǎng)格(In-Memory Data Grid)媒怯。它不僅提供了一系列的分布式的Java常用對象髓窜,還提供了許多分布式服務寄纵。其中包括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的最簡單和最便捷的方法哄陶。Redisson的宗旨是促進使用者對Redis的關注分離(Separation of Concern)哺壶,從而讓使用者能夠?qū)⒕Ω械胤旁谔幚順I(yè)務邏輯上蜒谤。
項目介紹:https://github.com/redisson/redisson/wiki/Redisson%E9%A1%B9%E7%9B%AE%E4%BB%8B%E7%BB%8D
特性&功能:
- 每個Redis服務實例都能管理多達1TB的內(nèi)存
- 完美的工作在云環(huán)境并且支持AWS ElastiCache,AWS ElastiCache Cluster 和 Azure Redis Cache
- 支持Redis單節(jié)點(single)模式鳍徽、哨兵(sentinel)模式资锰、主從(Master/Slave)模式以及集群(Redis Cluster)模式
- 程序接口調(diào)用方式采用異步執(zhí)行和異步流執(zhí)行兩種方式
- 數(shù)據(jù)序列化,Redisson的對象編碼類是用于將對象進行序列化和反序列化阶祭,以實現(xiàn)對該對象在Redis里的讀取和存儲
- 單個集合數(shù)據(jù)分片绷杜,在集群模式下直秆,Redisson為單個Redis集合類型提供了自動分片的功能
- 提供多種分布式對象,如:Object Bucket鞭盟,Bitset圾结,AtomicLong齿诉,Bloom Filter 和 HyperLogLog等
- 提供豐富的分布式集合筝野,如:Map,Multimap粤剧,Set歇竟,SortedSet,List抵恋,Deque焕议,Queue等
- 分布式鎖和同步器的實現(xiàn),可重入鎖(Reentrant Lock)弧关,公平鎖(Fair Lock)号坡,聯(lián)鎖(MultiLock),紅鎖(Red Lock)梯醒,信號量(Semaphonre)宽堆,可過期性信號鎖(PermitExpirableSemaphore)等
- 提供先進的分布式服務,如分布式遠程服務(Remote Service)茸习,分布式實時對象(Live Object)服務畜隶,分布式執(zhí)行服務(Executor Service),分布式調(diào)度任務服務(Schedule Service)和分布式映射歸納服務(MapReduce)
- 更多特性和功能号胚,請關注官網(wǎng):http://redisson.org
Redisson架構(gòu)
Redisson作為獨立節(jié)點可以用于獨立執(zhí)行其他節(jié)點發(fā)布到分布式執(zhí)行服務 和 分布式調(diào)度任務服務里的遠程任務籽慢。架構(gòu)圖如下:
Redisson底層采用的是Netty 框架。支持Redis 2.8以上版本猫胁,支持Java1.6+以上版本箱亿。如果你現(xiàn)在正在使用其他的Redis的Java客戶端,那么Redis命令和Redisson對象匹配列表 能夠幫助你輕松的將現(xiàn)有代碼遷徙到Redisson框架里來弃秆。
性能
我們很多人都或多或少使用過Redis或了解過Redis届惋,我們之所以選擇使用Redis,主要是基于Redis的高性能菠赚,對一般人的知識認知脑豹,Redis的性能大約在55000 ~ 75000 QPS。然而對于Redisson Pro又將會帶給我們怎樣的驚喜呢衡查?
為了比較瘩欺,我們選擇非常流行的Redis Java 客戶端 Jedis 和 Redisson Pro進行對比。對比過程中主要選擇了非常通用的命令進行壓測:HSET,RPUSH俱饿、SADD歌粥、SET 和 INCR。
環(huán)境說明:
- 有效載荷大小為:6 bytes
- 測試所用機型:Core i7 3612QM 16GB內(nèi)存
- Benchmark 測試都是在同一機器上進行拍埠,并且是針對單實例壓測
壓測結(jié)果展示:
總結(jié):
從上述提供的基準壓測結(jié)果已經(jīng)非常清楚地表明Redisson Pro對于那些吞吐量和延遲敏感的系統(tǒng)是非常明智的選擇阁吝,Redisson Pro 要比Jedis 更能有效的充分利用現(xiàn)有的系統(tǒng)資源,從而提供高性能的服務械拍,從經(jīng)驗中來看突勇,Redisson Pro能夠提供高達 10w ~ 21.3w QPS,這也是官網(wǎng)極力推薦的原因(redis官網(wǎng)推薦https://redis.io/clients)坷虑。
到這里甲馋,或許你已經(jīng)非常充滿興趣了,但是仍然不解你的好奇心迄损,那么就讓我來告訴你Redisson Pro 較開源版(Open Source)的區(qū)別吧 :)
Redisson PRO的主要優(yōu)點:
- Redis集群管理API定躏,可以通過程序化的方式操作所有redis-trib.rb里的功能
- Redis部署API,可以通過程序化的方式遠程登錄一臺主機并部署芹敌、運行Redis服務
- 針對大容量的Map和Set實現(xiàn)自動分片的功能痊远,把一個大集合分割成幾個小的集合,然后將他們分布在Redis集群里氏捞。好處在于整個操作對用戶透明碧聪,同時增加該集合的吞吐量
- 高速引擎,在高并發(fā)的情況下液茎,專業(yè)版較開源版性能提升8倍逞姿,其中4倍吞吐量和兩倍的響應速度
- 提供Dropwizard的統(tǒng)計功能,可以用來實現(xiàn)使用情況的可視化
- 更多介紹請參考:https://redisson.pro/
介紹到這里捆等,不知道對大家有沒有一點點作用滞造,如果能幫到你,此次整理總結(jié)就很欣慰了栋烤!對Redis中國用戶組(CRUG)有了解的同學谒养,很可能已經(jīng)知道了,CRUG是Redisson Pro中國區(qū)唯一授權(quán)代理經(jīng)銷商明郭,為了給國內(nèi)的企業(yè)謀福利买窟,通過CRUG購買Pro版能夠享受更多更大的優(yōu)惠,另外為反饋社區(qū)达址,回報技術(shù)群蔑祟,首次對外發(fā)布《Redisson白皮書》,下載地址是:鏈接: https://pan.baidu.com/s/1bpISQMb 密碼: jc2t
購買請聯(lián)系:crug@redis.cn 或致電:18612720739(張)垂詢
寫在最后:本文翻譯整理自https://github.com/redisson/redisson/wiki/1.-Overview 和 https://dzone.com/articles/redisson-pro-vs-jedis-which-is-faster沉唠,得到原作者Nikita Koksharow 允許。感謝另一位作者顧睿校審苛败,有問題也可以通過我或直接聯(lián)系原作者满葛。感謝大家閱讀~~~ 么么噠??