我在我的一个 Java 应用程序中使用 Redis,我正在序列化要存储在 Redis 中的对象列表。但是,我注意到使用 RedisTemplate 会使用 JdkSerializationRedisSerializer。相反,我想使用 Jackson 进行序列化,因为我相信它更适合速度。我将如何配置我的 RedisTemplate 以改为使用 Jackson?
为了澄清,这是我配置 RedisTemplate 的方式:
@Override
protected RedisConfiguration getRedisConfiguration() {
return redisConfiguration;
}
@Bean
public RedisTemplate<String, Object> getRedisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
template.setConnectionFactory(jedisConnectionFactory());
return template;
}
最佳答案
像这样,
@Bean
public RedisTemplate<String, Object> getRedisTemplate() {
RedisTemplate<String, Object> template = new RedisTemplate<>();
Jackson2JsonRedisSerializer jrs = new Jackson2JsonRedisSerializer(String.class);
template.setKeySerializer(jrs);
template.setConnectionFactory(jedisConnectionFactory());
return template;
}
而且,我建议你阅读这份文件 https://docs.spring.io/spring-data/data-redis/docs/current/reference/html/#redis:template
关于java - spring中如何使用jackson代替JdkSerializationRedisSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459707/