Redis配置了redisTemplate.setEnableTransactionSupport(true)之后的坑,以及自己的理解

本文整合的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
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值