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本身还提供TomcatSession 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可以带给我们更高的视野
Redisson框架官方介绍相关推荐
- Django - Django框架 简单介绍
Django框架 简单介绍 本文地址: http://blog.csdn.net/caroline_wendy/article/details/29172271 1. 介绍 Django是一个开放源码 ...
- redisson redlock(基于redisson框架和redis集群使用分布式锁)
一.关于分布式锁的两篇文章 文章1 文章2 二.redis分布式锁存在的问题 redis实现分布式锁有很多种方案,比较完善的方案应该是用setNx + lua进行实现.简单实现如下: java代码-加 ...
- .Net Core应用框架Util介绍(四)
上篇介绍了Util Angular Demo的目录结构和运行机制,本文介绍Util封装Angular的基本手法及背后的动机. Angular应用由Ts和Html两部分构成,本文介绍第一部分. Angu ...
- .Net Core应用框架Util介绍(三)
上篇.Net Core应用框架Util介绍(二)介绍了Util的开发环境,并让你把Demo运行起来.本文将介绍该Demo的前端Angular运行机制以及目录结构. 目录结构 在VS上打开Util De ...
- .Net Core应用框架Util介绍(二)
Util的开源地址 https://github.com/dotnetcore/util Util的开源协议 Util以MIT协议开源,这是目前最宽松的开源协议,你不仅可以用于商业项目,还能把Util ...
- (非常重要).Net Core应用框架Util介绍(学习Util)
转载地址https://blog.csdn.net/sD7O95O/article/details/82598545(看看!) 不过Util作者本人的博客地址在https://www.cnblogs. ...
- jQuery框架的介绍以及基本用法--操作dom
jQuery框架的介绍以及基本用法–操作dom 概念 jQuery是一个优秀的javascript轻量级框架之一,兼容css3和各大浏览器,提供了dom,events,animate,ajax等简易操 ...
- 玩转人工智能(3)常用的大数据框架简单介绍
时光不老,我们不散. 讲大数据框架前,简单的介绍下大数据的文化.信息时代人类社会的进步得益于分享和开源.大数据时代属于信息时代的第三代发展阶段(2001年到2011年可以认为是CT行业的黄金期,200 ...
- rocketmq框架详细介绍
文章目录 消息队列 应用场景 rocketmq 为什么选择RocketMQ消息队列 RocketMQ所拥有的功能 rocketmq应用场景 应用解耦 流量削峰 数据分发 异步处理 日志处理 顺序消息 ...
最新文章
- 小程序之 转发/分享
- hbuilder怎么做登录界面_hbuilder 第三方登录实例
- Java 并发编程必须知道的七种锁类型以及应用
- 一次搞定各种数据库SQL执行计划
- obs捕获窗口没有窗口_学习工具 | 视频录制软件OBS
- 如何将外部的obj模型导入OpenGL
- 中英文对照 —— 标点符号(punctuation)
- cf B. Internet Address
- LeetCode 623. Add One Row to Tree
- C语言自学之路九(用C语言编写小游戏-扫雷)
- 计算机键盘正确指法操作方法,键盘指法,图文详解键盘指法练习方法
- ArrayList的removeAll和retainAll方法
- QProcess实现进程通信
- cpu飙升 死循环_CPU飙升问题的解决实例
- android nexus 10 刷机,谷歌Nexus 10 recovery卡刷rom 刷机教程
- iOS播放器常用功能
- 1.新建laravel项目
- (转)Spark中对Dataframe的union 、unionAll和 unionByName方法说明
- 全新安装Windows10系统(PE下)
- nrf52832 学习笔记(五)蓝牙主从机连接和连接参数更新