Redis事务

定义

将一系列指令包装成一个整体,顺序依次执行、中间不会被打断或被干扰。

事务的操作

multi:开启事务

exec:执行事务

 discard:取消事务,在multi之后,exec之前

事务的工作流程

事务注意事项

语法错误,整个事务不会执行

语法正确,运行过程中有冲突的命令不会执行。

例如:先使用string类型,中间过程中插入hash类型指定。

这玩意不能回滚,错了就你是的问题。,执行事务前先备份数据吧,以免出错。

作用

解决多个客户同时操作同一组数据的问题。

操作

watch:对key添加监视锁,必须在开启事务之前使用,监视的key有变化,则执行的事务则终止。

 unwatch:取消对所有key的监视

分布式锁

作用

避免最后一件商品被多个用户购买。

操作

setnx :设置一个公共锁,有返回值设置失败,无返回值则成功。

del:释放锁

死锁解决方案

为锁的key添加添加时间限定,到时不释放,放弃锁。

expire:设置锁的时间(秒)

pexpire:设置锁的时间(毫秒)

原文地址:https://www.cnblogs.com/-zzc/p/14753352.html