Redisson框架官方介绍

我们现在看到的就是redission官方网站

https://redisson.org

首页可以看出来,redisson可以实现很多东西,在redisson的基础上,redisson做了超多的封装,我们看一下,例如说

Spring Cache,TomcatSession,Spring Session,可排序的Set,还有呢Sortedsort,下面还有各种队列,包括这种双端

队列,还有map,这些是数据结构,下面就是各种锁,读写锁,这里面的锁还包含,可重入锁,还有CountDownLantch,这个是

在多线程的时候使用的,比如说我启动很多个线程,去执行某个任务,然后把任务进行切分,都完成之后有一个等待,等待

所有线程都达到这里之后,在一起往下走,把异步再变成同步,下边是一些线程池,还有订阅的各种功能,ScheduleService

来做调度的一个任务,所以Redisson是非常强大的,然后我们在右上角有一个documentation,我们打开他

这就是github的redisson官方的文档

https://github.com/redisson/redisson/wiki

我们点击中文来看一下

https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95

左侧是详细的一个目录,上面这些都是配置方法,各种配置方法这里都是有的,我们任意点击进去,我们可以看到,

这里面的说明是非常详细的,因为redisson非常强大,我们主要是用redisson的可重入锁,用它来做一个分布式锁,

建议有兴趣的可以仔细研读redisson,中文文档或者英文文档都可以,这里面你肯定能收获很多,第三是程序调用的

一种方式,还有数据序列化,还有单个集合的数据分片,这个很好理解,比如说我又单个集合,里面非常大,我们把它

做一个分片,还有分布式对象,例如同样对象桶,二进制流,地理空间对象桶,这个在我们做地图应用的时候呢,也是非常

有用的,分布式集合也是非常有用,Map简单理解就是映射,Multimap是多值映射,例如说一对多的关系,我们在Map里面放了

一个key,然后放了一个value,那我们可以选择基于set的多值映射,基于list的多值映射,里面还提供了多值映射的

淘汰机制,这里面有很多,刚刚说过的双端队列,也就是说多列头和多列尾,都可以进行操作,下面还有各种阻塞延迟优先,

优先双端队列

我们重点看这里面,分布式锁redisson,提供了强大的分布式锁,提供了公平所,红锁,读写锁,还有信号量

分布式远程服务,Remote Service,这里面也非常强大,这在构建分布式应用的时候,这里面用的非常多

还有Redis命令和Redisson对象的匹配列表,建议这可以多看一下

例如我们会整合Spring框架,前面我们讲了单点登陆,我们原生的实现了单点登陆,同时也使用了Spring官方的

Spring Session,来完成单点登陆,解决Tomcat集群环境下,Session共享的一个问题,那Redisson本身还提供Tomcat

Session Manager,还有Spring Session会话管理器,这些都是非常强大的,

https://github.com/redisson/redisson

那主要的项目就是redisson这个项目,下面还有redisson的一些docker,正如我们前面所说的,我们在学习Spring框架的

时候,可以看一些官方的例子,那在学Redisson的时候呢,也可以优先看一下Redisson官方的一些例子,这里面写的通俗易懂,

那我们就往下看一下,在分布式当中,里面的可重入锁

https://github.com/redisson/redisson/wiki/
8.-%E5%88%86%E5%B8%83%E5%BC%8F%E9%94%81%E5%92%8C%E5%90%8C%E6%AD%A5%E5%99%A8#81
-%E5%8F%AF%E9%87%8D%E5%85%A5%E9%94%81reentrant-lock

首先我们看一下Reentrant Lock,这个还支持自动过期解锁,那正如我们之前手写的分布式锁,我们也是支持过期自动解锁的,

那在设置锁的时候呢,可以看这里面,尝试加锁,最多等待100秒,上锁以后10秒自动解锁,下面直接unlock

// 加锁以后10秒钟自动解锁
// 无需调用unlock方法手动解锁
lock.lock(10, TimeUnit.SECONDS);

// 尝试加锁,最多等待100秒,上锁以后10秒自动解锁
boolean res = lock.tryLock(100, 10, TimeUnit.SECONDS);
if (res) {
   try {
     ...
   } finally {
       lock.unlock();
   }
}

其实在讲Redisson之前,我们是手写的一个分布式锁,这和我们在使用Spring Session之前,也是手写的解决Session共享的,

一个问题,这样学习其实理解这个问题,比解决方案更加深刻,例如之前我们讲的两种,为什么讲了两种,非常简单,如果在

日常工作中,需要改造TOMCAT集群方式的话,很有可能你的业务侵入会比较大,那么我们讲了Spring Session框架,这个时候

你就可以引用Spring Session框架,其实在这些方面我也发了很多心思,主要是可以实际落地,能在实际工作当中来使用他,

那么Redisson其实也是一个增补的知识,通过Redisson实现分布式锁的时候,真的超级简单,用的超级爽,所以Redisson提供的

各种功能,我们都可以大方的使用它,包括Redis,由于Redisson是Redis的一个深入扩展,并且它在实际的工作场景当中,会提高

我们的开发效率,其实Redisson可以带给我们更高的视野

 

  • 13
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值