mysql事务: 多个sql操作,要么一起成功要么一起失败
redis命令都是原子性的,一个命令执行时要么成功要么失败,不受其他的命令的影响
多个客户端执行时,可能先后发送多个命令交给redis执行,redis会按照接受命令的顺序一个个执行
但是多个客户端发送命令如果在同一时刻都发送了多个,可能会导致客户端的命令交叉执行
一个客户端的多个命令交给redis执行时,按提交的顺序执行不会被其他客户端发送的命令打断,就是redis的事务
redis事务的使用:
multi: 开启redis队列,以后再执行命令时不会立即执行,而是存放到开启的队列中
如果组队时,有命令写错了直接报错,队列会取消
exec: 让redis执行redis队列
执行期间有命令发生错误不会影响队列其他命令的执行
discard :取消redis的队列