redis事务
1.概念
redis的事务本质是一组命令的集合,事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。
在事务执行的过程中,会按照顺序串行执行队列中的命令,其他客户端提交的命令请求不会插入到当前的事务中
redis的事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令
redis的事务没有隔离级别的概念
因为是批量操作的原因,所以没有办法进行隔离。在发送exec(提交事务的意思)之前所执行的队列都会放到缓存中,并不会被实际执行。
redis是不保证原子性
redis中,单条命令是原子性执行的,但是事务不保证原子性,并且没有回滚,事务中任意命令执行失败,其余的命令任然会执行。
redis的事务分为三个阶段:开始事务,命令入列,执行事务
事务命令
watch key1 key2 #监视一个或者多个key,如果在开始事务执行之前,被监视的key
被其他的命令改动,则事务被打断,有点像乐观锁 监视事务
multi #开始事务
exec #提交事务
unwatch #取消监视
discard #取消事务,放弃事务中所有的命令
2.使用
- 正常执行
- 取消事务
- 存在命令性错误(编译错误),都不执行
- 语法性错误,其他会执行
- watch监控
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!