Redis的事务处理
2017-01-23 11:15
363 查看
Redis的事务操作
multi 开启事务exec 提交事务
discard取消事务
127.0.0.1:6379> multi OK 127.0.0.1:6379> set djk fdjs QUEUED 127.0.0.1:6379> set djklg djgl QUEUED 127.0.0.1:6379> discard OK 127.0.0.1:6379> exec (error) ERR EXEC without MULTI
4 watch监听key值
watch: 在事务开启之前监听一个或多个keys值,如果在事务执行时,客户端进行修改该值,那么事务都不执行。
127.0.0.1:6379> watch hello OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set hello ffff QUEUED 127.0.0.1:6379> set name zll QUEUED 127.0.0.1:6379> exec (nil)
Jedis实例
public class JedisTransaction { private Jedis jedis; @Before public void beforeJedis(){ jedis = JedisConnection.jedisConnection(); } @Test public void testTransaction(){ //事务一旦执行,客户端发来的请求都不能打断。 //开启一个事务 Transaction transaction = jedis.multi(); transaction.set("hello", "world!"); transaction.mset("hashset_keys","nnnn"); transaction.lpush("list_key","hhhh"); transaction.lpush("list_key","xxx"); transaction.exec(); System.out.println("=="+jedis.keys("*")); } @Test public void testWatch(){ jedis.watch("name"); Transaction transaction = jedis.multi(); transaction.set("hello", "world!"); //此时用客户端,对name进行修改操作。 transaction.mset("name","tttt"); transaction.lpush("age","444"); System.out.println(transaction.exec()); } @Test public void testDiscard(){ Transaction transaction = jedis.multi(); transaction.set("hello", "world!"); //取消事务 System.out.println(transaction.discard()); } }
相关文章推荐
- redis数据库事务处理及hash,list,set类型的python开发应用 推荐
- redis事务处理:(error) EXECABORT Transaction discarded because of previous errors.
- redis--事务处理与乐观锁
- Redis 学习之事务处理
- Redis 学习之事务处理
- NoSQL数据库之Redis数据库管理六(Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存)
- Redis缓存技术学习系列之事务处理
- 【Redis系列】Redis的事务处理
- Redis事务处理
- 「Redis学习笔记」事务和错误处理
- redis事务处理抢购简单代码(已验证)
- Redis系列-事务处理、持久化操作、pub_sub、虚拟内存
- Redis安全性和事务处理
- redis (5).事务处理以及持久化
- Redis 笔记与总结6 Redis 高级应用之 事务处理、持久化操作、pub_sub、虚拟内存
- Redis的高级应用-事务处理、持久化、发布与订阅消息、虚拟内存使用
- redis 事务处理
- redis的事务处理
- Redis事务处理
- redis处理事务和memcache缓存基础的详解