//使用sessionCallback 默认情况下redis客户端是一条条命令发送给redis服务器 Object execute = redisTemplate.execute(new SessionCallback() { @Override public Object execute(RedisOperations redisOperations) throws DataAccessException { //设置要监控的key redisOperations.watch("key1"); //开启事务,全部进入队列 redisOperations.multi(); redisOperations.opsForValue().set("key1", 1); //此处会出现空指针,因为reids只是放入队列并没有执行 redisOperations.opsForValue().increment("key1", 1); return redisOperations.exec();//执行 } }); //使用redis流水线 redisTemplate.executePipelined(new SessionCallback() { @Override public Object execute(RedisOperations redisOperations) throws DataAccessException { //设置要监控的key redisOperations.watch("key1"); //开启事务,全部进入队列 redisOperations.multi(); redisOperations.opsForValue().set("key1", 1); //此处会出现空指针,因为reids只是放入队列并没有执行 redisOperations.opsForValue().increment("key1", 1); return redisOperations.exec();//执行 } });
Redis 事务基本操作demo
最新推荐文章于 2023-06-28 10:16:26 发布