事务命令: multi 开启事务,此时输入的命令会入队FIFO。 exec 依次执行队列中的命令,即使遇到执行错误的命令,也不会影响其他命令,redis没有事务回滚机制。 discard 放弃事务 watch CAS乐观锁,用法是在multi命令之前执行,监控某个key值,如果在命令输入完成后执行e ...
分类:
其他好文 时间:
2020-01-29 18:11:26
阅读次数:
88
基础知识 __基础知识之一:锁的类型__ __ 锁就那么几个,只是根据特性,分为不同的类型 __ 锁的概念 锁的三个概念 类型一:公平锁/非公平锁 公平锁:ReentrantLock(构造为公平) 非公平锁:Synchronized,ReentrantLock(构造为非公平) 类型二:乐观锁/悲观锁 ...
分类:
编程语言 时间:
2020-01-28 21:09:10
阅读次数:
82
常用概念线程安全停止线程守护线程多线程通讯锁Synchornized悲观锁乐观锁共享锁/独占锁读写锁的机制死锁LockReentrantLockConditionCountDownLatchCyclicBarrier信号量SemaphoreThreadLocal高并发线程安全与不安全的类不安全的sp... ...
分类:
编程语言 时间:
2020-01-28 12:26:58
阅读次数:
74
锁类型 锁根据其特性能够划分出各种各样的锁类型,该文主要介绍以下锁的作用及特性 1. 乐观锁/悲观锁 2. 独享锁/共享锁 3. 互斥锁/读写锁 4. 可重入锁 5. 公平锁/非公平锁 6. 分段锁 7. 偏向锁/轻量级锁/重量级锁 8. 自旋锁 乐观锁/悲观锁 乐观锁与悲观锁并不是特指某两种类型的 ...
分类:
编程语言 时间:
2020-01-24 17:17:42
阅读次数:
96
前言 分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细 ...
分类:
其他好文 时间:
2020-01-19 11:09:07
阅读次数:
68
Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定,线程是否阻塞可以分为 自旋锁 从多个线程并发访问资源,也就是 Synchronized 可以 ...
分类:
其他好文 时间:
2020-01-16 14:24:22
阅读次数:
204
实验环境:mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) 乐观锁 乐观锁不是数据库自带的,需要我们自己去实现。乐观锁是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理( ...
分类:
数据库 时间:
2020-01-15 23:11:26
阅读次数:
101
一、前言 二、分析问题 三、持久化 四、confirm机制 五、消息提前持久化 + 定时任务 六、幂等含义 6.1、为什么要有幂等这种场景? 6.2、乐观锁方案 6.3、唯一ID + 指纹码 6.4、Redis原子操作 6.1、为什么要有幂等这种场景? 6.2、乐观锁方案 6.3、唯一ID + 指纹 ...
分类:
其他好文 时间:
2020-01-13 16:16:12
阅读次数:
86
Java中提供了很多原子操作类来保证共享变量操作的原子性。这些原子操作的底层原理都是使用了CAS机制。在使用一门技术之前,了解这个技术的底层原理是非常重要的,所以本篇文章就先来讲讲什么是CAS机制,CAS机制存在的一些问题以及在Java中怎么使用CAS机制。其实Java并发框架的基石一共有两块,一块是本文介绍的CAS,另一块就是AQS,后续也会写文章介绍。什么是CAS机制CAS机制是一种数据更新的
分类:
其他好文 时间:
2020-01-08 18:50:59
阅读次数:
70
乐观锁是基于比较的无锁并发控制机制。 CAS mvcc The general idea is this: The general idea is this: Optimistic locking Optimistic locking Each table you want to implement ...
分类:
其他好文 时间:
2020-01-07 18:20:21
阅读次数:
91