Когда я использую кэш Spring, прямой доступ к базе данных занимает в два раза больше времени, но если я использую redistempla
для получения данных из Redis, это быстрее, чем MySQL.
так что я могу убедиться, что в Redis есть данные,
Кроме того, я только что протестировал запрос простых данных, в проекте используются Spring Boot и Spring Cloud с кластером Redis
это моя конфигурация
@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;
}