求求你不要手写redis 缓存set,get
生活随笔
收集整理的這篇文章主要介紹了
求求你不要手写redis 缓存set,get
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
點擊上方?好好學java?,選擇?星標?公眾號
重磅資訊、干貨,第一時間送達
今日推薦:硬剛一周,3W字總結,一年的經驗告訴你如何準備校招!
個人原創100W+訪問量博客:點擊前往,查看更多
作者:小李子說程序
https://www.toutiao.com/i6903746076747104772/
前言
看到同事手動寫的緩存代碼,我實在是看不下去了,于是決定改造一下,最終達到自動Redis緩存,不用手動去set了。
使用場景
實時性要求不那么高的業務數據,我們可以在Service上進行一些緩存的操作。這樣就可以減少訪問數據庫的頻率。(脫離的場景的技術都是在紙上談兵)
實戰
1 話不多說,上代碼自動化配置
源碼
import?java.time.Duration;import?org.springframework.cache.CacheManager; import?org.springframework.context.annotation.Bean; import?org.springframework.context.annotation.Configuration; import?org.springframework.data.redis.cache.RedisCacheConfiguration; import?org.springframework.data.redis.cache.RedisCacheManager; import?org.springframework.data.redis.cache.RedisCacheWriter; import?org.springframework.data.redis.connection.RedisConnectionFactory; import?org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import?org.springframework.data.redis.serializer.RedisSerializationContext; import?org.springframework.data.redis.serializer.RedisSerializer; @Configuration public?class?RedisConfig?{/***?SpringBoot配置redis作為默認緩存工具*?SpringBoot?2.0?以上版本的配置*/@Beanpublic?CacheManager?cacheManager(RedisConnectionFactory?redisConnectionFactory)?{//初始化一個RedisCacheWriterRedisCacheWriter?redisCacheWriter?=?RedisCacheWriter.nonLockingRedisCacheWriter(redisConnectionFactory);//設置CacheManager的值序列化方式為json序列化RedisSerializer<Object>?jsonSerializer?=?new?GenericJackson2JsonRedisSerializer();RedisSerializationContext.SerializationPair<Object>?pair?=?RedisSerializationContext.SerializationPair.fromSerializer(jsonSerializer);RedisCacheConfiguration?defaultCacheConfig=RedisCacheConfiguration.defaultCacheConfig().serializeValuesWith(pair)//設置默認超過期時間是30秒.entryTtl(Duration.ofSeconds(30));//初始化RedisCacheManagerreturn?new?RedisCacheManager(redisCacheWriter,?defaultCacheConfig);} }2 啟用緩存注解
3 使用注解,實現curd
3.1 查詢 使用 @Cacheable
3.2 增加或修改使用 @CachePut
3.3 刪除用 @CacheEvict
推薦文章硬剛一周,3W字總結,一年的經驗告訴你如何準備校招!
今年的校招,Java 好拿 offer 嗎?
10月了,該聊聊今年秋招了!
聊聊在騰訊實習快一個月的感受
總結
以上是生活随笔為你收集整理的求求你不要手写redis 缓存set,get的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10 分钟使用 Spring Boot
- 下一篇: Java仿百度网盘,拿来学习/搞外快,都