java - spring中如何使用jackson代替JdkSerializationRedisSerializer

标签 java spring redis jackson

我在我的一个 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/

相关文章:

java - 包是否需要放在 jar 中才能用于 ant 构建脚本

java - Spring Boot - @Value 注释不起作用

java - Hibernate 无法添加或更新子行 : a foreign key constraint fails

nosql - Redis 在高负载时周期性地停止响应

node.js - Heroku 上的 Redis 将多个哈希键保存为一个。但在本地 redis 数据库上可以

javascript - 带有简单 redis 应用程序的 Node.js 抛出 'unhandled error'

java - 不区分大小写的 String.contains 方法的替代方法是什么?

java - 序列化 JTable 的 TableModel

java - 在 Eclipse IDE 中设计 Java Swing GUI 最简单的方法是什么?

java - Spring + JPA 项目的数据库管理站点