gpt4 book ai didi

redis - 为什么redis-cli获取程序设置的对象的值总是nil

转载 作者:可可西里 更新时间:2023-11-01 11:25:51 29 4
gpt4 key购买 nike

我使用了 spring-data-redis 并将模板设置如下:

@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<String, Object>();
template.setConnectionFactory(jedisConnectionFactory());
//template.setDefaultSerializer(new StringRedisSerializer());
return template;
}



@Autowired
private RedisTemplate<String, Object> redisTemplate;
private ValueOperations<String, Object> valueOps;
public static final String CATEGORY="QUOTE";

public void save(String key, String value) {

valueOps.set(key, value);
logger.info("redis get key={}, value={}", key, get(key));
}

当我运行代码时,它可以将值显示为字符串,

Aug 02, 2017 5:00:52 下午 com.web.service.QuoteRepo save
INFO: redis get key=QUOTE:932:324371:rem, value=4

当我去redis客户端的时候

$ ./redis-cli
127.0.0.1:6379>get QUOTE:932:324371:rem
(nil)

最佳答案

注意这行代码:

private ValueOperations<String, Object> valueOps;

您应该将模板作为 ValueOperations 注入(inject)。你忘记了这样的事情:

@resource(name="redisTemplate")
private ValueOperations<String, Object> valueOps;

更多信息请引用:https://docs.spring.io/spring-data/redis/docs/1.8.6.RELEASE/reference/html/Section5.5对你有帮助。

关于redis - 为什么redis-cli获取程序设置的对象的值总是nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45456262/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com