首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >2018-10-14 Redisson项目介绍Redisson项目介绍i flym

2018-10-14 Redisson项目介绍Redisson项目介绍i flym

作者头像
Albert陈凯
发布于 2018-10-15 04:57:28
发布于 2018-10-15 04:57:28
1.2K1
举报
文章被收录于专栏:Albert陈凯Albert陈凯

Redisson项目介绍

Rui Gu edited this page <relative-time datetime="2018-05-23T22:07:43Z" title="May 24, 2018, 6:07 AM GMT+8" style="box-sizing: border-box;">on May 24</relative-time> · 18 revisions

image

Redisson项目介绍

Redisson是架设在Redis基础上的一个Java驻内存数据网格(In-Memory Data Grid)。充分的利用了Redis键值数据库提供的一系列优势,基于Java实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。

Redisson采用了基于NIO的Netty框架,不仅能作为Redis底层驱动客户端,具备提供对Redis各种组态形式的连接功能,对Redis命令能以同步发送、异步形式发送异步流形式发送管道形式发送的功能,LUA脚本执行处理,以及处理返回结果的功能,还在此基础上融入了更高级的应用方案,不但将原生的Redis HashListSetStringGeoHyperLogLog数据结构封装为Java里大家最熟悉的映射(Map)列表(List)集(Set)通用对象桶(Object Bucket)地理空间对象桶(Geospatial Bucket)基数估计算法(HyperLogLog)等结构,在这基础上还提供了分布式的多值映射(Multimap)本地缓存映射(LocalCachedMap)有序集(SortedSet)计分排序集(ScoredSortedSet)字典排序集(LexSortedSet)列队(Queue)阻塞队列(Blocking Queue)有界阻塞列队(Bounded Blocking Queue)双端队列(Deque)阻塞双端列队(Blocking Deque)阻塞公平列队(Blocking Fair Queue)延迟列队(Delayed Queue)布隆过滤器(Bloom Filter)原子整长形(AtomicLong)原子双精度浮点数(AtomicDouble)BitSet等Redis原本没有的分布式数据结构。不仅如此,Redisson还实现了Redis文档中提到像分布式锁Lock这样的更高阶应用场景。事实上Redisson并没有不止步于此,在分布式锁的基础上还提供了联锁(MultiLock)读写锁(ReadWriteLock)公平锁(Fair Lock)红锁(RedLock)信号量(Semaphore)可过期性信号量(PermitExpirableSemaphore)闭锁(CountDownLatch)这些实际当中对多线程高并发应用至关重要的基本部件。正是通过实现基于Redis的高阶应用方案,使Redisson成为构建分布式系统的重要工具。

在提供这些工具的过程当中,Redisson广泛的使用了承载于Redis订阅发布功能之上的分布式话题(Topic)功能。使得即便是在复杂的分布式环境下,Redisson的各个实例仍然具有能够保持相互沟通的能力。在以这为前提下,结合了自身独有的功能完善的分布式工具,Redisson进而提供了像分布式远程服务(Remote Service)分布式执行服务(Executor Service)分布式调度任务服务(Scheduler Service)这样适用于不同场景的分布式服务。使得Redisson成为了一个基于Redis的Java中间件(Middleware)

Redisson Node的出现作为驻内存数据网格的重要特性之一,使Redisson能够独立作为一个任务处理节点,以系统服务的方式运行并自动加入Redisson集群,具备集群节点弹性增减的能力。然而在真正意义上让Redisson发展成为一个完整的驻内存数据网格的,还是具有将基本上任何复杂、多维结构的对象都能变为分布式对象的分布式实时对象服务(Live Object Service),以及与之相结合的,在分布式环境中支持跨节点对象引用(Distributed Object Reference)的功能。这些特色功能使Redisson具备了在分布式环境中,为Java程序提供了堆外空间(Off-Heap Memory)储存对象的能力。

Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。如果您现在正在使用其他的Redis的Java客户端,希望Redis命令和Redisson对象匹配列表 能够帮助您轻松的将现有代码迁徙到Redisson里来。如果目前Redis的应用场景还仅限于作为缓存使用,您也可以将Redisson轻松的整合到像SpringHibernate这样的常用框架里。除此外您也可以间接的通过Java缓存标准规范JCache API (JSR-107)接口来使用Redisson。

Redisson生而具有的高性能,分布式特性和丰富的结构等特点恰巧与Tomcat这类服务程序对会话管理器(Session Manager)的要求相吻合。利用这样的特点,Redisson专门为Tomcat提供了会话管理器(Tomcat Session Manager)

在此不难看出,Redisson同其他Redis Java客户端有着很大的区别,相比之下其他客户端提供的功能还仅仅停留在作为数据库驱动层面上,比如仅针对Redis提供连接方式,发送命令和处理返回结果等。像上面这些高层次的应用则只能依靠使用者自行实现。

Redisson支持Redis 2.8以上版本,支持Java1.6+以上版本。

https://www.cnblogs.com/LT0314/p/6757390.html

i flym

不会写C++的JAVA人员不是一个好UI 不会用Linux的程序员不是一个好DBA

redisson的理解和使用-调用流程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.10.14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
大佬获取表格有源码吗
大佬获取表格有源码吗
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
redis几种java客户端比较
目前在项目中是混用jedis和redisson的状态,使用jedis是项目前期的原因,目前需要使用redisson的一些高级特性。
山行AI
2019/09/09
21.3K0
分布式锁中的王者方案-Redisson
上篇讲解了如何用 Redis 实现分布式锁的五种方案,但我们还是有更优的王者方案,就是用 Redisson。
悟空聊架构
2021/06/01
1.3K0
分布式锁中的王者方案-Redisson
分布式锁中的王者方案 - Redisson
上篇讲解了如何用 Redis 实现分布式锁的五种方案,但我们还是有更优的王者方案,就是用 Redisson。
悟空聊架构
2022/05/13
1.5K0
分布式锁中的王者方案 - Redisson
watchdog没有生效引发的bug?
可以看到, 第一次取消操作的线程 aio10 执行了13s,提交扣减数据的数据库事务的时间点,大约在 2022-08-19 11:11:37 第二次取消操作的线程 aio7 执行了14s,获取分布式锁的时间点是 2022-08-19 11:11:35
烟雨平生
2023/03/07
7080
watchdog没有生效引发的bug?
Redis分布式锁的几种演进方案
需要一种支持分布式集群环境下的锁:查询 DB 时,只有一个线程能访问,其他线程都需要等待第一个线程释放锁资源后,才能继续执行。
Ant丶
2022/03/01
7080
Redis分布式锁的几种演进方案
Jedis与Redisson选型对比
1  概述 1.1.       主要内容 本文的主要内容为对比Redis的两个框架:Jedis与Redisson,分析各自的优势与缺点,为项目中Java缓存方案中的Redis编程模型的选择提供参考。 2.    Jedis与Redisson对比 2.1.    概况对比 Jedis是Redis的Java实现的客户端,其API提供了比较全面的Redis命令的支持;Redisson实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串操作,不支持排序、事务、管道、分区
王金龙
2018/08/24
3.2K0
分布式锁工具Redisson,太香了!!
Redisson和它俩的区别就像一个用鼠标操作图形化界面,一个用命令行操作文件。Redisson是更高层的抽象,Jedis和Lettuce是Redis命令的封装。
用户1263954
2022/10/28
1.2K0
分布式锁工具Redisson,太香了!!
redisson应用之分布式集合
Redisson的分布式Map结构的RMap Java对象实现了java.util.concurrent.ConcurrentMap接口和java.util.Map接口。同时还保持了元素的插入顺序。该对象的最大容量受Redis限制,最大元素数量是4 294 967 295个。
kl博主
2023/11/18
7000
Redisson分布式锁最基础内容
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。
ha_lydms
2023/08/10
2220
Redisson分布式锁最基础内容
Redisson中的“琐事”
在应用开发中,特别是web工程开发,通常都是并发编程,不是多进程就是多线程。这种场景下极易出现线程并发性安全问题,此时不得不使用锁来解决问题。在多线程高并发场景下,为了保证资源的线程安全问题,jdk为我们提供了synchronized关键字和ReentrantLock可重入锁,但是它们只能保证一个工程内的线程安全。在分布式集群、微服务、云原生横行的当下,如何保证不同进程、不同服务、不同机器的线程安全问题,jdk并没有给我们提供既有的解决方案。此时,我们就必须借助于相关技术手动实现了。目前主流的实现有以下方式:
鱼找水需要时间
2023/02/16
6010
Redisson中的“琐事”
​高性能分布式锁的另一种实现:Redisson
以往在项目中涉及到分布式锁时,都是结合redisTemplate采用类原生的方式编写,代码量不少,还容易出现锁死的情况,近来无意间在看到某篇文章中发现了redisson,如获珍宝,工具谱中又多了一个利器(公众号回复关键字“工具”)。
MavenTalker
2019/07/19
7750
Redisson 完成分布式锁
Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格(In-Memory Data Grid)。充分 的利用了 Redis 键值数据库提供的一系列优势,基于 Java 实用工具包中常用接口,为使用者 提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工 具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式 系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间 的协作。
一个风轻云淡
2023/10/15
2610
Redisson 完成分布式锁
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
在与 知识星球 的球友交流中,最近有很多小伙伴在面大厂, 经常遇到下面的问题:3大redis客户端:Jedis、Redisson、Lettuce ,如何选型?
码猿技术专栏
2023/05/01
1.7K0
Jedis那么低性能,还在用?赶紧换上 lettuce 吧!
redisson中的分布式锁解读
Redisson是一个在Redis的基础上实现的Java驻内存数据网格(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),从而让使用 者能够将精力更集中地放在处理业务逻辑上。
一个风轻云淡
2023/10/15
4370
redisson中的分布式锁解读
分布式锁-Redisson
  我们在Java中学习过了synchronized及lock锁,这些锁都是本地锁,我们通过一个案例演示本地锁的问题。
别团等shy哥发育
2023/04/23
6240
分布式锁-Redisson
手撕redis分布式锁,隔壁张小帅都看懂了!
看到标题,有人可能会满心疑惑?张小帅是谁?咳咳,老猫在此先卖个关子,关于张小帅,老猫后续会向大家正式介绍的,标题算是彩蛋了。
程序员老猫
2021/01/12
5050
手撕redis分布式锁,隔壁张小帅都看懂了!
高性能/并发的保证-Netty在Redisson的应用
​ Redisson Github: https://github.com/redisson/redisson
sanshengshui
2020/04/14
2.8K0
一起来学redis redission
redis 的客户端有jedis、lettuce、redission;我个人比较推荐的是redission,因为它的分布式锁和缓存实在是太优秀了。Redisson采用了基于NIO的Netty框架,封装了大家常用的集合类以及原子类、锁等工具。
六个核弹
2022/12/23
2.3K0
一起来学redis redission
最强分布式锁工具:Redisson
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/08/29
1.2K0
最强分布式锁工具:Redisson
Redis集群实现分布式锁的正确方式
上文我们介绍的 Redis实现分布式锁的正确方式 是 redis 单机的方式,所以本篇要基于 redis 集群做分布式锁,我们使用 Redisson
胖虎
2019/06/26
8K0
Redis集群实现分布式锁的正确方式
相关推荐
redis几种java客户端比较
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档