redis之事务管理
来源:互联网 发布:上海java招聘会 编辑:程序博客网 时间:2024/05/29 18:56
1.Redis的事务是什么
在单个操作中可以执行一个或者一组命令。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞。
特点:
(1)事务中的所有命令作为单个隔离操作并按顺序执行。不可以在执行redis的事务中间向其他客户端发起请求。
(2)不完全保证原子性,支持部分原子性,redis在同一个事务中,如果一条命令执行失败,那么其后的命令仍然会执行,却不会回滚。
2.redis事务的命令
MULTI :开启事务,一般返回ok,但是不代表一定成功,只是开启了,好使不好使还不一定。
虽然放进去值了,但是返回的不是ok,是queue队列,就是先加入队列,行就存上,不行从队列移除。所以可以做多个操作,然后放入队列中,如图。
EXEC :执行事务。如图,可以批量执行,是设置值得就返回ok,获取值得就取值。
DISCARD :放弃当前事务。
3.什么是悲观锁和乐观锁
悲观锁:顾名思义就是采用悲观的方式,我操作的时候防止万一有人来操作,感觉有点像java中的同步锁,synchronized似的,当前我操作,就把操作的对象锁起来,谁都得等我完事再说。意思就是等我把锁释放了,别人才可以拿锁再进来。
乐观锁:采用乐观的方式,就是我操作的时候不一定会有人来吧,乐观方式就是没上锁。别人也过来操作时,就会更新当前的版本号。结果我再去更新原数据时,发现已经不一样了,那么就会告诉我需要取出当前更新后最新的版本号,才会操作更新数据。
4.redis监控命令
WATCH XXX :监控XXX(watch可以监控一个及多个键)。给XXX上锁。watch这个命令类似于乐观锁,如果监控的key已经被修改了,那么整个监控的事务队列就不会继续执行下去了。也就是watch监控的键,只要有一个发生了改变,那么使用EXEC执行命令就会报出异常,让你基于当前更新后最新的值去操作。
UNWATCH XXX:取消监控。
注意:在执行了exec和unwatch之后,之前加的watch监控锁就会被消除了。
- redis之事务管理
- redis事务管理
- redis事务管理
- 事务管理之Spring事务管理
- 事务管理之Hibernate事务管理
- redis进阶2-事务管理
- 事务管理之XA分布式事务管理
- redis集群事务管理工具类
- Spring声明式事务管理之xml事务管理
- Spring总结之事务管理
- Spring总结之事务管理
- spring之事务管理
- Spring之事务管理详解
- @@TranCount 之事务管理
- hibernate 之session 事务管理
- Mybatis深入之事务管理
- Spring之五 事务管理
- Spring注解之事务管理
- 【Redis笔记-1】Redis Desktop Manager On Ubuntu
- MySQL数据库,从一个数据库中复制指定表到另一个数据库中
- Jsp 实现文件上传下载
- Guess Number Higher or Lower II
- linux信号及其含义
- redis之事务管理
- 简易的自动登录
- eclipse快速复制下一行冲突的解决方案
- 多线程基本概念理解
- Spring定时任务
- Java笔试题解(5)
- 汇编语言作业
- MySQL增删查改知识点
- dao--3.事务