TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网产品结构Redis0事务乐观悲观锁脑图思维导图

Redis0事务乐观悲观锁脑图思维导图

  收藏
  分享
免费下载
免费使用文件
灰色と青 浏览量:42023-11-30 19:58:43
已被使用0次
查看详情Redis0事务乐观悲观锁脑图思维导图

事务-乐观悲观锁,订阅,删除,淘汰规则 集群概念

树图思维导图提供 Redis0事务乐观悲观锁脑图 在线思维导图免费制作,点击“编辑”按钮,可对 Redis0事务乐观悲观锁脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:edd90f485fd35db71d6124897ee028f3

思维导图大纲

Redis03-事务-乐观悲观锁,订阅,删除,淘汰规则 集群概念思维导图模板大纲

redis的事务

mysql事务:将一个事务的很多操作,作为一个系列操作,这个系列的操作 要么都成功,要么都失败

ACID : 原子性、一致性、隔离性、持久性。

什么是redis的事务

Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证

批量操作在发送exec命令前被放入队列缓存

exec后,事务中有任何语法错误,所有命令执行失败

exec后,事务中任意命令执行失败,其余命令仍然执行成功

在事务执行中,其他客户端提交的命令不会插入到事务执行命令序列中

redis事务中的常用命令

discard

取消事务

exec

执行事务块内的命令

multi

事务开始

watch key ....

监视一个或多个key,如果在事务执行前,key被其他命令所改动,那么事务将会被打断,用于乐观锁

unwatch

取消watch命令 对所有key的监视

redis事务的操作

Redis没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执 行并不是原子性的

事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作

redis的乐观锁和悲观锁

什么是悲观锁

悲观锁(Pessimistic Lock),顾名思义,就是很悲观

每次去拿数据都认为别人会修改,所以每次在拿数据的时候都会上锁,当其他线程想要访问数据时,都需要阻塞挂起

传统的关系型数据库里边就用到了很多 这种锁机制,比如行锁、表锁,读锁,写锁等,都是在操作之前先上锁。

在Java中,synchronized的思想也是悲观锁

什么是乐观锁

乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时 候都认为别人不会修改,所以不会上锁,

但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等级制。

乐观锁策略:提交版本作为条件必须大于等于记录当前版本才能执行更新

一般会使用版本号机制 或 CAS操作实现

乐观锁适用 于多读的应用类型,这样可以提高吞吐量

. redis中乐观锁 watch监控

redis中的悲观锁

使用Redis实现悲观锁命令setnx命令

当且仅当key不存在,缓存数据,并返回1,若给定的key已存在,则setnx不做任何动作,并返回0

redis发布订阅的功能

什么是发布订阅

进程间的一种消息通信模式:发送者(pub)发送消息,订阅者(sub)(消 费者)接收消息

Redis发送者, 客户端 (消费方)可以订阅任意数量的频道

redis的发布订阅的应用

redis发布订阅的相关命令

pubsub 查看订阅与发布系统状态

发送者

p subscribe ....

订阅一个或多个符合给定模式的频道,发送者使用,(客户端)

publish channel message 将消息发送到对应的频道 发送者使用

消费者

subscribe channel 订阅给定的一个或多个频道订单信息 消费者使用

un subscribe 退订给定的频道,消费者使用

使用界面

redis数据删除和淘汰策略

过期数据

redis中的数据特征 Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以 通过TTL指令获取其状态

TTL返回的值有三种情况:正数,-1,-2

删除策略就是针对已过期数据的处理策略

数据过期删除策略

定时删除(默认)

创建一个定时器,当key设置有过期时间,且过期时间到达时,由定 时器任务立即执行对键的删除操作

.惰性删除

数据到达过期时间,不做处理。等下次访问该数据时,我们需要判 断

.定期删除··

如何具体的删除

数据淘汰策略

执行删除的时机,策略

什么叫数据淘汰策略?什么样的应用场景需要用到数据淘汰策略?

第一类:检测易失数据

volatile-lru:挑选最近最少使用的数据淘汰

least recently used

volatile-lfu : 挑选最近使用次数最少的数据进行淘汰

least frequent used

volatile-ttl:挑选将要过期的数据淘汰

time to live

volatile-random:任意选择数据淘汰

第二类:检测全库数据

allkeys-lru:挑选最近最少使用的数据淘汰

allkes-lfu::挑选最近使用次数最少的数据淘汰

allkeys-random:任意选择数据淘汰,相当于随机

第三类:放弃数据驱逐

no-enviction(驱逐):禁止驱逐数据(redis4.0中默认策略),会引发 OOM(Out Of Memory)

4. 数据淘汰策略设置

redis的主从复制, 集群概念

什么是集群?

集群:将同一个项目部署到多个服务器中,多个服务器中运行的是同一个项目

为什么要进行Redis集群

分担redis压力

解决高并发,在硬件层面上

解决单台Redis服 务性能不足的问题,这就需要使用到Redis的集群

redis集群方案

1.主从复制+Redis哨兵

2.Redis Cluster

1.4. 什么是Redis主从复制

主从复制

在主从复制模式下Redis节点分为两种角色:主节点(主机,也称为master) 和从节点(从机,也称为slave)。这种模式集群是由一个主节点和多个从节点 构成。

主机(主节点)负责对数据进行更新(增删改),根据配置和策略,会 把数据同步到从机(从节点)上

从机(从节点)只负责对数据进行查询,不负责更新(增删改)

主从复制解决:读写分离 ,容灾(自然灾害、设备故障、人为操作破坏 等的灾难)回复

主从复制的作用

读写分离

容灾恢复

redis主从复制搭建

实际(真实集群环境)

redis主节点占用一个linux服务器,从节点占用一个linux服务器

学习(伪集群环境)

相关思维导图模板

设计概论思维脑图思维导图

树图思维导图提供 设计概论思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 设计概论思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:deb0532980b57f8781635ceaaa393fb9

0513早会整理思维脑图思维导图

树图思维导图提供 0513早会整理思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 0513早会整理思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:70912fe45647449127e821bdf2b56453