自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 分布式锁:Redisson源码解析-Semaphore、CountDownLatch

一、Semaphore1. 文档及实现Github与Java里面的Semaphore是类似的可以在使用前初始化,通过 trySetPermits(permits) 方法获得可用的许可数量。官方文档中没有说的详细,但是可以理解的是核心的功能也就是和Java中的Semaphore是类似的代码实现// 获取到一个semaphore锁RSemaphore semaphore = redissonClient.getSemaphore("anyLock");// 允许同时三个客户端获取到sema

2021-12-07 22:55:07 756

原创 分布式锁:Redisson源码解析-ReadWriteLock

说到读写锁,大家都会很迅速的反应过来,读写锁的存在就是为了提升实际的应用的并发能力,可以保证读读不互斥,读写互斥,写写互斥一、概念及实现1. 概念官方文档Github核心接口ReadWriteLock是基于Java里的ReadWriteLock构建的,读锁和写锁都实现了 RLock 接口允许多个 ReadLock 所有者和仅一个 WriteLock 所有者就是读读不互斥写写互斥读写互斥如果获取锁的 Redisson 实例崩溃,那么这种锁可能会永远挂在获取状态为了避免这种R

2021-12-06 17:13:52 852

原创 分布式锁:Redisson源码解析-MultiLock、RedLock

一、MultiLockGithub我们从官方文档开始来看看 文档地址,总结一下就下面几点了:Redis基于分布式的MultiLock对象,实现了一组锁对象合并成一个大锁,统一进行加锁和释放锁,每个锁对象可能属于不同的redisson实例存在一种可能,如果获取到MultiLock实例挂掉了,那么就可能导致这个multiLock一直处于被持有的状态,所以可以设置leaseTime和waitTime符合Java Lock规范,只有锁的持有者可以释放他代码实现// 初始化三个锁RLock loc

2021-12-05 22:41:59 2641

原创 分布式锁:Redisson源码解析-FairLock

相比与之前的ReentrantLock和现在的FairLock,顾名思义,就很明显的可以发现是表示的公平锁,从之前的案例中可以发现并没有对加锁失败后竞争锁的线程进行顺序上的控制,而是任由线程竞争,也就是非公平的,而FairLock会通过一系列的机制来控制,获取到锁的顺序会和请求获取锁的顺序是一致的

2021-12-04 11:25:42 2995

原创 virtubox安装centos7

virtubox安装centos7centos配置网络centos配置yumcentos关闭防火墙centos配置hostscentos安装gcccentos安装perl命令centos安装jdk环境

2021-12-02 19:42:38 963

原创 分布式锁:Redisson源码解析——RLock(二)

一、复习场景模拟初始化在获取锁的时候,会初始化一些参数,例如commandExecutor leaseTime uuid● commandExecutor 命令执行器● leaseTime 持有锁的最大时间,租期● uuid 客户端的唯一标识第一次加锁设置获取到锁的主体,使用线程id作为标识当未设置leaseTime的时候,也就是代表的锁可以无限持有时间判断redis中是否已经存在了这个锁第一次加锁肯定不存在,递增一个lockName为key的hash数据结构里面的一个key为uui

2021-11-30 18:35:06 1338

原创 分布式锁:Redisson源码解析——RLock(一)

分布式锁——Redisson源码篇-加锁(一)初始化锁对象RLock的整体类图CommandAsyncExecutor加锁——ReentrantLock方法重载第一次加锁及watchdog续约重点设计连接发送数据结构watchdog阻塞思考其实代码整体上可以发现实现可重入锁的方法还是比较简单的,学习成本相对比较低,使用起来也是比较简单的,对于分析可重入锁的部分从下面几个部分来大致的阅读初始化锁对象RLock lock = redisson.getLock("anyLock");RLock的整体类图

2021-11-29 16:41:51 5996 1

原创 分布式锁——Redisson概念篇

Redisson概念篇 redisson是什么? redisson概念 分布式锁

2021-11-29 16:28:51 883

原创 在Centos7中创建redis cluster集群

两台百度云的服务器,系统是 CentOS / 7.9 x86_64 (64bit)redis我装的版本是redis-4.0.1

2021-11-27 13:18:49 617

原创 分布式锁——实现篇

MySQL 实现分布式锁Redis实现分布式锁ZK实现分布式锁

2021-11-25 16:49:09 744

原创 分布式锁——概念篇

分布式锁总结——系列篇

2021-11-24 18:13:30 1289

jdk8的资源,供开发使用

java开发比较适用

2021-12-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除