【Redis】006
【Redis】006
一、Redis基本的事务操作1、原子性:要么同是成功吗,要么同时失败;Redis单条命令保证原子性,但是Redis的事务不保证原子性!2、Redis事务事务指的是一组命令的集合;一个事物的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行;一次性、顺序性、排他性;代码语言:javascript代码运行次数:0运行复制--- 队列 set set set 执行 ---Re
【Redis】006
1、原子性:
要么同是成功吗,要么同时失败;
Redis单条命令保证原子性,但是Redis的事务不保证原子性!
2、Redis事务
事务指的是一组命令的集合;
一个事物的所有命令都会被序列化,在事务执行的过程中,会按照顺序执行;
一次性、顺序性、排他性;
代码语言:javascript代码运行次数:0运行复制--- 队列 set set set 执行 ---
Redis事务没有隔离级别的概念;
Redis单条命令保证原子性,但是Redis的事务不保证原子性!
所有的命令在事务中,并没有直接被执行,只有在发起执行命令的时候才会执行,Exec;
Redis事务执行顺序:
开启事务(multi)——命令入队——(取消执行事务discard)——执行事务(Exec);
取消执行事务:discard;
Redis事务演示:
代码:
代码语言:javascript代码运行次数:0运行复制127.0.0.1:679> multi
OK
127.0.0.1:679> set k1 v1
QUEUED
127.0.0.1:679> set k2 v2
QUEUED
127.0.0.1:679> get k2
QUEUED
127.0.0.1:679> set k v
QUEUED
127.0.0.1:679> exec
1) OK
2) OK
) "v2"
4) OK
图解:
、异常
编译型异常:代码有问题、命令有问题,所有的命令都不会执行;
运行时异常(如1/0):如果事务队列中存在语法性错误,那么执行命令的时候,其他正确的命令可以正常执行,所以说Redis的事务是没有原子性的;
1、悲观锁
很悲观,认为什么时候都会出问题,无论做什么都加锁(影响性能);
2、乐观锁(常用)
很乐观,认为什么时候都不会出现问题,所以不会上锁,更新数据的时候去判断一下,在此期间是否有人修改过这个数据,MySQL的version,在Redis中使用Watch;
获取version——更新的时候比较version;
unwatch取消监控(解锁)!
、Redis监视测试
无变化,正常执行:
有变化,停止执行:
所以多线程修改值,使用watch可以当做乐观锁操作!
如果事务执行失败,就先解锁(unwatch),再加锁(watch,获取最新值再次进行监控);
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent 删除数据异常redis队列事务#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-23 11:05:55
推荐阅读
留言与评论(共有 15 条评论) |
本站网友 死也不倒下 | 17分钟前 发表 |
Exec;Redis事务执行顺序:开启事务(multi)——命令入队——(取消执行事务discard)——执行事务(Exec);取消执行事务:discard;Redis事务演示:代码:代码语言:javascript代码运行次数:0运行复制127.0.0.1 | |
本站网友 iphone5概念机 | 4分钟前 发表 |
所以说Redis的事务是没有原子性的;二 | |
本站网友 马志宇 | 22分钟前 发表 |
679> set k1 v1 QUEUED 127.0.0.1 | |
本站网友 胀气 | 27分钟前 发表 |
只有在发起执行命令的时候才会执行 | |
本站网友 鼎鑫名流苑 | 26分钟前 发表 |
顺序性 | |
本站网友 房产信息 | 10分钟前 发表 |
只有在发起执行命令的时候才会执行 | |
本站网友 vs2005下载 | 6分钟前 发表 |
679> get k2 QUEUED 127.0.0.1 | |
本站网友 5g手机大概多少钱 | 16分钟前 发表 |
Redis监视测试无变化 | |
本站网友 常州代理记账 | 3分钟前 发表 |
【Redis】006 一 | |
本站网友 广州短期租房 | 10分钟前 发表 |
所有的命令都不会执行;运行时异常(如1/0):如果事务队列中存在语法性错误 | |
本站网友 电信网盘 | 19分钟前 发表 |
679> get k2 QUEUED 127.0.0.1 | |
本站网友 中药血竭 | 13分钟前 发表 |
无论做什么都加锁(影响性能);2 | |
本站网友 花粉的作用与功效 | 24分钟前 发表 |
679> exec 1) OK 2) OK ) "v2" 4) OK图解: | |
本站网友 长乐二手房 | 23分钟前 发表 |
679> get k2 QUEUED 127.0.0.1 |