您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用@Cacheable緩存解決雙冒號的問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用@Cacheable緩存解決雙冒號的問題”吧!
使用spring-data-redis2.x版本時,@Cacheable緩存key值時默認會給vlue或cacheNames后加上雙引號
通過配置進行修改即可滿足項目需求
@Configuration public class SpringCacheConfig{ @Bean public CacheManager cacheManager(LettuceConnectionFactory lettuceConnectionFactory){ RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig() .entryTtl(Duration.ofHour(1) //變雙冒號為單冒號 .computePrefixWith(name - >":") .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer())) .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new GenericJackson2JsonRedisSerializer())) .disableCachingNullValues(); RedisCacheManager cacheManager = RedisCacheManager.RedisCacheManagerBuilder .fromConnectionFactory(lettuceConnectionFactory) .cacheDefaults(config) .transactionAware() .build(); return cacheManager; } ...其他配置 }
@Cacheable(value = "PERSON",key = "#tagId+'_'+#zz") public List<Person> getPersonByTagid(Long tagId,String zz)
其中value表示該方法返回的參數的緩存存在那個Cache里(即為緩存塊的名字)
緩存結果以一個鍵值對存放在緩存中,注解中key即為鍵值對的key;value即為方法返回的結果
key用雙引號,里面#加上方法的參數:獲取方法的參數, ''表示在參數之間添加分隔符
在springboot的啟動類上使用@EnableCaching//開啟緩存
在方法上直接使用@Cacheable()使用緩存
到此,相信大家對“怎么使用@Cacheable緩存解決雙冒號的問題”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。