redis笔记——redis事务及锁应用

1.redis支持简单的事务

2.redis 和 mysql事务的对比

   Mysql Redis
开启 start transaction multi(并不执行,放在一个队列里)
语句 普通sql 普通命令
失败 rollback回滚 discard取消
成功 commit exec

rollback 和 discard 的区别: 

如果已经成功执行了2条语言,第三条语句出错,

rollback后,前2条的语句影响消失,discard只是结束本次事物,前2条语句造成的影响还在

 

注:

在multi的后面的语句中,语句出错可能有2种情况

1:语法就有问题,这种exec时,报错,所有语句得不到执行

2:语法本身没错,但适用对象有问题,比如zadd操作list对象 exec之后,会执行正确的语句,并跳过不适当的语句

Redis 的事务中,启用的是乐观锁,只负责检测key有没有被改动

watch key1 key2 。。。。keyN:监听key1 key2 有没有变化,如果监视的key中任意一个有变化,则事务取消

unwatch :取消所有的watch监听

posted @ 2018-03-25 17:23  我是胖子搬运工  阅读(150)  评论(0编辑  收藏  举报