Redis学习笔记(三)--事务

Redis学习笔记(三)–事务

Redis中的事务(transaction)是一组命令的集合。事务同命令都是redis的最小执行单位,一个事务中的命令要么都执行,要么就都不执行。事务的原理是先将属于一个事务的命令发送给redis,然后再让redis依次执行这些命令。

这里写图片描述
对上述操作过程进行解释:
首先使用MULTI命令,开启事务,之后的的所有命令均不执行,只是暂存,如果开始事务成功,则返回ok,然后发送其他操作命令,如果成功则返回QUEUED,当把同一个事务中的命令全部发送给redis后,使用EXEC命令将等待执行的事务队列中的所有命令按照发送顺序依次执行。EXEC命令的返回值就是这些命令的返回值组成的列表,返回值顺序和命令的书序相同。

1、错误处理

(1)语法错误。

语法错误指命令不存在或者命令参数的个数不对。
这里写图片描述
在MULTI命令后执行了2个命令,一个是正确的,成功地加入事务队列,一个是错误的。只要有一个命令有语法错误,执行EXEC命令后redis就会直接返回错误,连语法正确的命令也不会执行。

(2)运行错误。

运行错误是指在命令执行时出现的错误。
这里写图片描述
正确的命令依然会执行,而错误的命令不会执行,但是redis的事务没有关系数据库事务提供回滚功能

2、WATCH命令

WATCH命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行,监控一直持续到EXEC命令,事务中的命令在EXEC之后才执行的,所以在MULTI命令后可以修改WATCH监控的键值。

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值