Why is it faster to get data from mysql than spring cache+redis

584 Views Asked by At

When I use Spring cache it takes more than twice as long as direct access to the database, but if I use redistempla to get data from Redis, it is faster than MySQL. so I can make sure that there is data in Redis ,

In addition, I just tested the query of a simple data,the project use Spring Boot and Spring Cloud with Redis cluster

his is my configuration

@Bean
public CacheManager cacheManager(RedisTemplate ObjectRedisTemplate) {
    RedisCacheManager cacheManager = new RedisCacheManager(ObjectRedisTemplate);
    cacheManager.setUsePrefix(true);
    // Number of seconds before expiration. Defaults to unlimited (0)
    cacheManager.setDefaultExpiration(300L);
    return cacheManager;
}

@Bean(value="ObjectRedisTemplate")
public RedisTemplate<String, Object> redisTemplates(JedisConnectionFactory jedisConnectionFactory) {
    RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
    redisTemplate.setConnectionFactory(jedisConnectionFactory);
    redisTemplate.setKeySerializer(new StringRedisSerializer());
    redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
    redisTemplate.setHashKeySerializer(new StringRedisSerializer());
    redisTemplate.setHashValueSerializer(new GenericJackson2JsonRedisSerializer());
    return redisTemplate;
}
0

There are 0 best solutions below