SpringCache缓存注解( 二 )

createRedisCache(String name, RedisCacheConfiguration cacheConfig)方法 。

  • 解析 name 参数,根据#字符串进行分割 , 获取缓存 key 名称以及缓存有效期 。
  • 接着我们修改下 CacheConfig 类的 cacheManager 方法用以使用 MyRedisCacheManager 类 。代码如下 , 
    @Beanpublic CacheManager cacheManager(RedisConnectionFactory redisConnectionFactory) {return new MyRedisCacheManager(RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory), defaultCacheConfig());}private RedisCacheConfiguration defaultCacheConfig() {return RedisCacheConfiguration.defaultCacheConfig().serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(keySerializer())).serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(valueSerializer())).computePrefixWith(name -> CACHE_PREFIX + name+ \":\").entryTtl(Duration.ofSeconds(600));}SpringCache缓存注解 。小编来告诉你更多相关信息 。
    Spring
    最后我们修改下 @Cacheable 注解使用方式,在原有 value 属性的 configCache 值后添加 #600,单独标识缓存有效期 。代码如下,
    @Cacheable(value = https://www.fajihao.com/"configCache#600\", key = \"#root.methodName + \'_\' + #root.args[0]\")@Overridepublic String getValueByKey(String key) {...}看下 getValueByKey 方法生成的 Redis 缓存 key 有效期是多久 。如下,
    SpringCache缓存注解

    文章插图
    【SpringCache缓存注解】OK,看到是 590 秒有效期后,我们就大功告成了,希望本文能对大家有所帮助