redis事务使用案例分享


当前第2页 返回上一页

7c4b36096c93fd6f7df02c1fbc43f60.png

(4)若在事务队列中存在语法性错误(类似于java的1/0的运行时异常),则执行EXEC命令时,其他正确命令会被执行,错误命令抛出异常。

d784e4954fd98684cbdc33d3c98bd3c.png

(5)使用watch

案例一:使用watch检测balance,事务期间balance数据未变动,事务执行成功

f29a959be741cac13b5bb1b6fbf6c80.png

案例二:使用watch检测balance,在开启事务后(标注1处),在新窗口执行标注2中的操作,更改balance的值,模拟其他客户端在事务执行期间更改watch监控的数据,然后再执行标注1后命令,执行EXEC后,事务未成功执行。

7784d0a9248b3fe4e4282e4fab40675.png

一但执行 EXEC 开启事务的执行后,无论事务使用执行成功, WARCH 对变量的监控都将被取消。

故当事务执行失败后,需重新执行WATCH命令对变量进行监控,并开启新的事务进行操作。

总结:

  watch指令类似于乐观锁,在事务提交时,如果watch监控的多个KEY中任何KEY的值已经被其他客户端更改,则使用EXEC执行事务时,事务队列将不会被执行,同时返回Nullmulti-bulk应答以通知调用者事务执行失败。

相关推荐:redis数据库教程

以上就是redis事务使用案例分享的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

Redis内存满了会怎么样

单机Redis环境搭建方法

RedisRedis扩展在linux平台的安装

教你通过homebrew安装配置Redis

Redis中使用队列实现历史搜索功能的方法

linux下Redis的安装步骤详解

Redis是什么类型的数据库

数据库的事务隔离级别有哪些?

Redis有什么用?

介绍Redis三种集群模式(cluster集群模式)

更多相关阅读请进入《Redis》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...