本文整合的redis客户端是lettucce,话不多说上代码。
先配置一个RedisTemplete的实例,在里面指定redis支持数据库的事务
@Bean public RedisTemplate redisTemplate(LettuceConnectionFactory factory){ RedisTemplate redisTemplate = new RedisTemplate(); //使用LettuceConnectionFactory 代替 RedisConnectionFactory redisTemplate.setConnectionFactory(factory); //配置序列化方式 redisTemplate.setKeySerializer(new StringRedisSerializer()); redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer()); redisTemplate.setHashKeySerializer(new StringRedisSerializer()); redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); //设置redis支持数据库的事务 redisTemplate.setEnableTransactionSupport(true); return redisTemplate; }
写个简单demo测试下事务是否有效
@Transactional(rollbackFor = Exception.class) public void changeCount2(String name) throws Exception{ redisTemplate.opsForValue().set(name,123); dotest(); redisTemplate.o