事务、管道
目录
事务
相关命令
悲观锁
乐观锁
管道
实例
Pipeline与原生批量命令对比
Pipeline与事物对比
使用Pipeline注意事项
事务
相关命令
命令 | 描述 |
discard | 取消事务,放弃执行事务块内的所有命令 |
exec | 执行所有事务块内的事务(所有命令依次执行) |
multi | 标记一个事务块的开始(输入的命令依次进入命令队列,不会执行) |
unwatch | 取消watch命令对所有key的监视 如果执行watch命令后,执行了exec或discard,不需要执行unwatch |
watch key [key...] | 执行multi之前,执行watch监视key 如果在事务执行之前,这些key被其他命令所改动,事务会被打断,整体回滚 乐观锁机制 |
出错:
在exec之前,执行exec,全体都不会发生变化
在exec之后,执行exec,正确的会发生变化,redis不支持事务回滚,错误不会发生变化
悲观锁
乐观锁
管道
定义:为了解决RTT,将命令打包一次性发送,对整个Redis的执行不造成其他任何影响
批处理命令变种优化措施,类似Redis的原生批命令(mget、mset,但是只能一个类型)
实例
将数据放入文件中