- 博客(6)
- 收藏
- 关注
原创 什么是分布式锁?
在多线程并发的情况下,如何保证一个代码块在同一个时间只能由一个线程访问? Java的synchronized语法和Reentrantlock类就可以实现。保证在同一个JVM进程内的多个线程同步执行。 如果在分布式的集群环境中,如何保证不同节点的线程同步执行呢? 这就引入了分布式锁。具体的实现由redis分布式锁和zookeeper的分布式锁。 ...
2019-07-18 21:33:07 125 1
原创 RabbitMQ安装
本文介绍的安装方式是rpm安装 提前准备:安装Linux必要依赖包 下载RabbitMQ必须安装包 在安装包下执行以下命令,我把这些rabbitmq安装包放在了usr/local/rabbitmq下面 在这个目录下依次执行接下来的命令 1、rpm -ivherlang-18.3-1.el7.centos.x86_64.rpm 2、rpm -ivhsocat-1.7.3.2-1....
2019-07-14 09:43:04 282 1
原创 Java基础
平台无关性 一次编译,到处运行。Java源码首先被编译成字节码,再由不同平台的JVM进行解析,Java语言在不同的平台上运行时不需要进行编译,直接执行java命令,Java虚拟机在执行字节码的时候,把字节码转换成具体平台上的机器指令。 为什么JVM不直接将源码解析成机器码去执行? 准备工作:每次执行前都要进行各种检查 兼容性:也可以将别的语言转换成字节码 ...
2019-07-11 10:43:39 510 2
原创 Linux安装Redis(源码安装)
安装 wget http://download.redis.io/releases/redis-5.0.5.tar.gz tar xzf redis-5.0.5.tar.gz// 解压 ln -s redis-5.0.5 redis // 建立软连接 指向redis-5.0.5,这样是为了不把redis目录固定在指定版本上,有利于版本升级 cd redis make // 编译 make ins...
2019-07-11 10:42:26 184 2
原创 redis分布式锁
实现的三个核心要素: 加锁 setnx(key,1) 当一个线程执行setnx返回1,说明key原本不存在,该线程成功得到了锁;当一个线程执行setnx返回0,说明key已经存在,该线程抢锁失败。 解锁 del(key) 释放锁之后,其他线程就可以继续执行setnx命令来获得锁。 锁超时 如果一个得到锁的线程在执行任务的过程中挂掉,来不及显示地释放锁,这块资源将会永远被锁住,别的线程就再也进不...
2019-07-11 10:40:40 147 2
原创 redis总结
目录 是什么? 安装 存储结构 字符类型 string 列表类型 散列类型 集合类型 有序集合 分布式队列 分布式锁 分布式锁解决的问题 redis分布式锁 zookeeper分布式锁 持久化机制 RDB 触发快照情况 快照的实现原理 AOF 实践 aof重写的原理 同步磁盘数据 aof文件损坏以后如何修复 如何选择两种持久化机制? 集群 ...
2019-07-11 10:39:46 172 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人