码迷,mamicode.com
首页 > 其他好文 > 详细

redis 事务

时间:2020-11-11 15:52:00      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:str   隔离   放弃   过程   队列   class   编译型   抛出异常   ued   

Redis事务本质:一组命令的集合!一个事务中的所有命令都会被序列化,在事务执行过程的中,会按照顺序执行!
一次性,顺序性,排他性!执行一系列的命令!
---- 队列 set set set 执行 -----

Redis事务没有隔离级别的概念!

所有的命令在事务中,并没有直接被执行!只有发起执行命令的时候才会执行! Exec

Redis 单条命令式保存原子性的,但是事务不保证原子性!

redis的事务:

  • 开启事务(multi)
  • 命令入队(......)
  • 执行事务(exec)

正常执行事务

127.0.0.1:6379> multi # 开启事务
OK
127.0.0.1:6379> set k1 v1 # 命令入队
QUEUED
127.0.0.1:6379> set k2 v2
QUEUED
127.0.0.1:6379> get k2
QUEUED
127.0.0.1:6379> set k3 v3
QUEUED
127.0.0.1:6379> exec
1) OK
2) OK
3) "v2"
4) OK

放弃事务

127.0.0.1:6379> multi # 开启事务
OK
127.0.0.1:6379> set k1 v1
QUEUED
127.0.0.1:6379> set k2 v2
QUEUED
127.0.0.1:6379> discard # 取消事务
OK
127.0.0.1:6379> get k2 #事务中的队列命令都不会被执行
(nil)

异常

编译型异常(代码有问题1!命令有错!)

运行时异常(1/0),如果事务队列中存在语法性,那么执行命令的时候,其他命令是可以正常执行的,错误命令抛出异常!

redis 事务

标签:str   隔离   放弃   过程   队列   class   编译型   抛出异常   ued   

原文地址:https://www.cnblogs.com/haima/p/13764036.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!