gpt4 book ai didi

spring-boot - Redis 在使用 Spring Boot 时将对象设置为空 json "{}"

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

我正在尝试在 Redis 上设置一个对象。 RedisTemplate 配置如下所示。

@Bean
fun redisTemplate(): RedisTemplate<String, Any> {
val redisTemplate = RedisTemplate<String, Any>()
redisTemplate.connectionFactory = jedisConnectionFactory()
redisTemplate.defaultSerializer = GenericJackson2JsonRedisSerializer()
redisTemplate.keySerializer = StringRedisSerializer()
redisTemplate.hashKeySerializer = GenericJackson2JsonRedisSerializer()
redisTemplate.valueSerializer = GenericJackson2JsonRedisSerializer()

redisTemplate.afterPropertiesSet()
return redisTemplate
}

这是我的设置线

redisUtil.redisTemplate().opsForValue().set("类别", 树)

结果是

127.0.0.1:6379> keys *
1) "CATEGORIES"
127.0.0.1:6379> GET CATEGORIES
"{}"
127.0.0.1:6379>

最佳答案

如果你想存储一个对象你可以使用散列

Pet pet = new Pet();
pet.setHeight(10);
pet.setName("tommy");

ObjectMapper oMapper = new ObjectMapper();

template.opsForHash().putAll("pet", oMapper.convertValue(pet, Map.class));

Pet pet1 = oMapper.convertValue(template.opsForHash().entries("pet"), Pet.class);
System.out.println(pet1.getName());
System.out.println(pet1.getHeight());
System.out.println(pet1.getWeight());

Redis模板配置

@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
template.setConnectionFactory(jedisConnectionFactory());
template.setEnableTransactionSupport(true);
return template;
}

如果要存储为键值对

Pet pet = new Pet();
pet.setHeight(10);
pet.setName("tommy");

template.opsForValue().set("pettest", pet);
Pet pet2 = (Pet) template.opsForValue().get("pettest");
System.out.println("boo boo");
System.out.println(pet2.getName());

redis 中 get pettest 的结果{"@class":"com.cisco.rediscluster.Pet","name":"tommy","height":10}

关于spring-boot - Redis 在使用 Spring Boot 时将对象设置为空 json "{}",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55536857/

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