SpringBoot2.XX 產生的問題

SpringBoot2.X 使用中發現的問題(持續更新中...)mysql

redis:redis

這種已經不在使用了spring

@Bean
public CacheManager cacheManager(RedisTemplate redisTemplate) {
    RedisCacheManager rcm = new RedisCacheManager(redisTemplate);
    return rcm;
}

建議切換成這種sql

/**
 * 管理緩存
 */
@Bean
public CacheManager cacheManager(RedisConnectionFactory connectionFactory) {
    //初始化一個RedisCacheWriter
    RedisCacheWriter redisCacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory);
    //設置CacheManager的值序列化方式爲JdkSerializationRedisSerializer,但其實RedisCacheConfiguration默認就是使用StringRedisSerializer序列化key,JdkSerializationRedisSerializer序列化value,因此如下注釋代碼爲默認實現
    //ClassLoader loader = this.getClass().getClassLoader();
    //JdkSerializationRedisSerializer jdkSerializer = new JdkSerializationRedisSerializer(loader);
    //RedisSerializationContext.SerializationPair<Object> pair = RedisSerializationContext.SerializationPair.fromSerializer(jdkSerializer);
    //RedisCacheConfiguration defaultCacheConfig=RedisCacheConfiguration.defaultCacheConfig().serializeValuesWith(pair);
    RedisCacheConfiguration defaultCacheConfig = RedisCacheConfiguration.defaultCacheConfig();
    //設置默認超過時時間是30秒
    //defaultCacheConfig.entryTtl(Duration.ofSeconds(30));
    //初始化RedisCacheManager
    RedisCacheManager cacheManager = new RedisCacheManager(redisCacheWriter, defaultCacheConfig);
    return cacheManager;
}

mysql:緩存

    驅動也已經修改了 換成 com.mysql.cj.jdbc.Driverthis

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
相關文章
相關標籤/搜索