009redis的事务(transaction)

来源:互联网 发布:unity3d缓存清理 编辑:程序博客网 时间:2024/04/29 14:20
1、redis中的事务是一组命令的集合。事务同命令一样都是redis的最小执行单元。一组事务中的命令要么都执行,要么都不执行。(例如:转账)
2、原理:先将属于一个事务的命令发送给redis进行缓存,最后再让redis依次执行这些命令。
3、应用场景
     一组命令必须同时都执行,或者都不执行。
     我们想要保证一组命令在执行的过程之中不被其它命令插入。
4、命令
     multi     事务开始
     .....
     exec     事务结束,开始执行事务中的命令
     discard     放弃事务
5、错误处理
     1:语法错误:致命的错误,事务中的所有命令都不会执行
     2:运行错误:不会影响事务中其他命令的执行
6、Redis 不支持回滚(roll back)
     正因为redis不支持回滚功能,才使得redis在事务上可以保持简洁和快速。
7、java代码手工实现incr递增命令
8、watch命令
     作用:监控一个或者多个键,当被监控的键值被修改后阻止之后的一个事务的执行。
     但是不能保证其它客户端不修改这一键值,所以我们需要在事务执行失败后重新执行事务中的命令。
     注意:执行完事务的exec命令之后,watch就会取消对所有键值的监控
9、unwatch:取消监控
0 0
原创粉丝点击