redis 事务、Jedis事务处理流程


127.0.0.1:6379> multi
OK
127.0.0.1:6379> sadd myset a b c
QUEUED  ——>并没有执行,排队等待
127.0.0.1:6379> sadd myset b c d
QUEUED
127.0.0.1:6379> lpush mylist aa bb cc
QUEUED
127.0.0.1:6379> lpush mylist bb cc dd
QUEUED
127.0.0.1:6379> exec
1) (integer) 3
2) (integer) 1
3) (integer) 3
4) (integer) 6


127.0.0.1:6379> multi

OK
127.0.0.1:6379> sadd youset a b
QUEUED
127.0.0.1:6379> sadd youset b c
QUEUED
127.0.0.1:6379> discard // 取消事务
OK


Jedis事务处理流程

1、jedis.watch(key1, key2...);    // 监视keys

2、Transaction transaction = jedis.muti();    // 开启事务

3、事务体;在事务体中,当代码出错或监视的key被本事务对象之外的对象修改时,事务不会提交,返回空列表

4、List<Object> result = transaction.exec();    // 提交事务

5、result.isEmpty();    // 判断事务是否成功

6、jedis.unwatch();    // 解除监视

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM