为什么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数据的场景:
取消事务支持,
看看你们是不是有这种配置或者其他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