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