三.redis事务之watch 首先要了解redis事务中watch的作用,watch命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行。监控一直持续到exec命令(事务中的命令是在exec之后才执行...
三.redis事务之watch
首先要了解redis事务中watch的作用,watch命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会执行。监控一直持续到exec命令(事务中的命令是在exec之后才执行的,所以在multi命令后可以修改watch监控的键值)。假设我们通过watch命令在事务执行之前监控了多个Keys,倘若在watch之后有任何Key的值发生了变化,exec命令执行的事务都将被放弃,同时返回Null multi-bulk应答以通知调用者事务执行失败。
利用watch实现incr
具体做法如下:
WATCH mykey
val = GET mykey
val = val + 1
MULTI
SET mykey $val
EXEC
和此前代码不同的是,新代码在获取mykey的值之前先通过WATCH命令监控了该键,此后又将set命令包围在事务中,这样就可以有效的保证每个连接在执行EXEC之前,如果当前连接获取的mykey的值被其它连接的客户端修改,那么当前连接的EXEC命令将执行失败。这样调用者在判断返回值后就可以获悉val是否被重新设置成功。
本文标题为:redis事务之watch
基础教程推荐
- SQL数据库十四种案例介绍 2023-08-12
- MySQL实现批量插入测试数据的方式总结 2023-08-12
- Oracle 数据库启动过程的三阶段、停库四种模式详解 2023-07-23
- Redis中的BigKey问题排查与解决思路详解 2023-07-13
- centos7中redis安装 2023-09-12
- 关于对MongoDB索引的一些简单理解 2023-07-15
- mysql查询FIND_IN_SET REGEXP实践示例 2023-07-27
- Redis五种数据类型详解 2023-07-13
- 还原Sql Server数据库BAK备份文件的3种方式以及常见错误总结 2023-07-29
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
