我使用redis为我的Spring应用程序实现了缓存。现在,我想运行一个作业,每天将Mysql中的数据同步到redis。但我有个问题,redis key不是人类可读的文本。例如userList2:��在使用spring Cache时,如何将redis key存储为纯文本?
发布于 2018-11-27 16:00:41
您可以在cacheManager配置中使用自定义redis模板将值存储为json。
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
return redisTemplate;
}
@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
cacheManager.setUsePrefix(true);
return cacheManager;
}https://stackoverflow.com/questions/53494049
复制相似问题