为什么redisTemplate的set值之后,用get无法取出

为什么redisTemplate的set值之后,用get无法取出

问题描述:

Object o1 = redisTemplate.opsForValue().get(key);
            if (ObjectUtils.isEmpty(o1)){
                redisTemplate.opsForValue().set(key,1);
}
            Object o2 = redisTemplate.opsForValue().get(key);

o2一直是null,明明我在前面做了判空,
而且debug的时候,set方法也执行了,但是get就是获取就是null,
去客户端查看应该是set没有生效
求解为什么会出现这样的情况

我复现的一种不能直接get数据的场景:

img

取消事务支持,

img


img

看看你们是不是有这种配置或者其他aop导致出现了这种情况吧

@Test
    public void test(){
        redisTemplate.opsForValue().set("name","小黑");
        Object name = redisTemplate.opsForValue().get("name");
        System.out.println(name);
        System.out.println("操作完成");
    }

其实你要debug看一下是哪个导致的null,应该是resttemplate