【问题标题】:Spring redis cache plain keySpring Redis缓存普通键
【发布时间】:2019-04-28 20:40:58
【问题描述】:

我为我的 Spring 应用程序使用 redis 实现了缓存。现在我想运行一个作业,每天将数据从 Mysql 同步到 redis。 但我遇到的问题是 redis 密钥不是人类可读的文本。例如userList2:�� 使用spring Cache时如何将redis键存储为纯文本?

【问题讨论】:

    标签: spring caching redis


    【解决方案1】:

    您可以使用 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;
    }
    

    【讨论】:

    猜你喜欢
    • 2017-11-22
    • 1970-01-01
    • 2017-01-16
    • 2018-03-23
    • 2020-04-25
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多