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;
}