Redis自学笔记9--事务、锁

一、Redis事务介绍

redis事务就是一个命令执行的队列,将一系列预定命令包装成一个集体。当执行时,一次性按照添加顺序依次执行,中间不会被打断或者干扰。

二、事务操作

1、开启

命令:

multi

作用:设定事务的开启位置,此指令执行后,后续的所有指令均加入到事务中。

2、执行

命令:

exec

作用:设定事务的结束位置,同时执行事务。与multi成对出现,成对使用。

注意:加入事务的命令暂时进入到事务任务队列中,并没有立即执行,只有执行exec命令才开始执行

3、取消事务

命令:

discard

作用:终止当前事务的定义,发生在multi之后,exec之前

4、注意事项

手动回滚:

三、事务工作流程

四、锁

1、监视锁操作

对key添加监视锁

watch key1 key2 ...

取消对所有key的监视

unwatch

注意:当监控的对象发生变化时,则后面对应的事务操作将取消

2、分布式锁

使用setnx设置一个公共锁

setnx lock-key value

利用setnx命令的返回值特征,有值则返回设置失败,无值返回设置成功

        对于设置成功的,拥有控制权,进行下一步的具体业务操作

        对于设置失败的,不具有控制权,排队或等待

通过del操作释放锁

对锁加时效:

expire lock-key second
pexpire lock-key milliseconds
发布了171 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/QilanAllen/article/details/105201414
今日推荐