SpringBoot緩存

緩存三問 笛园?恭理??

如果所有操作都是對數據庫進行操作帖渠,那么勢必會對數據庫造成很大壓力,這時候如果把熱點放到緩存中是一個不錯的選擇竭宰。緩存還可以進行臨時數據的存放空郊,比如短時驗證碼之類的。

  • 如今流行的緩存技術切揭?

    Redis狞甚、EhCache 2.x 、Generic廓旬、JCache (JSR-107)哼审、Hazelcast、Infinispan孕豹、Guava涩盾、Simple

關于JSR-107標準

JSR-107

實例

pom.xml引入必要依賴

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>

UserRepository.java

package com.inverseli.learning.domain;

import org.springframework.cache.annotation.CacheConfig;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

/**
 * @author liyuhao
 * @date 2018年9月30日上午10:07:12
 */
@CacheConfig(cacheNames = "Users") // 緩存在名為Users的對象中
public interface UserRepository extends JpaRepository<User,Long>{
    // 將該方法的返回值存入緩存中,并在查詢時先從緩沖中獲取励背,獲取不到春霍,在到數據庫中進行獲取
    @Cacheable 
    User findByName(String name);
    
    User findByNameAndAge(String name,Integer age);
    @Query("from User u where u.name=:name")
    User findUser(@Param("name") String name);
}

注解詳解

@Cacheable: 將該方法的返回值存入緩存中,并在查詢時先從緩沖中獲取椅野,獲取不到终畅,在到數據庫中進行獲取
@CachePut: 配置于函數上籍胯,能夠根據參數定義條件來進行緩存竟闪,它與@Cacheable不同的是,它每次都會真是調用函數杖狼,所以主要用于數據新增和修改操作上炼蛤。意思就是說無論緩存中是否有數據,我都要進行方法執(zhí)行蝶涩,進行緩存中數據的更新理朋。
@CacheEvict: 配置于函數上,通常用在刪除方法上绿聘,用來從緩存中移除相應數據嗽上。除了同@Cacheable一樣的參數之外,它還有下面兩個參數:
allEntries:非必需熄攘,默認為false兽愤。當為true時,會移除所有數據
beforeInvocation:非必需,默認為false浅萧,會在調用方法之后移除數據逐沙。當為true時,會在調用方法之前移除數據洼畅。

參考 - http://blog.didispace.com/springbootcache1/
完整實例 - https://github.com/Inverseli/SpringBoot-Learning/tree/master/learning4-4-1

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末吩案,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子帝簇,更是在濱河造成了極大的恐慌徘郭,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件己儒,死亡現場離奇詭異崎岂,居然都是意外死亡,警方通過查閱死者的電腦和手機闪湾,發(fā)現死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進店門冲甘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人途样,你說我怎么就攤上這事江醇。” “怎么了何暇?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵陶夜,是天一觀的道長。 經常有香客問我裆站,道長条辟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任宏胯,我火速辦了婚禮羽嫡,結果婚禮上,老公的妹妹穿的比我還像新娘肩袍。我一直安慰自己杭棵,他們只是感情好,可當我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布氛赐。 她就那樣靜靜地躺著魂爪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪艰管。 梳的紋絲不亂的頭發(fā)上滓侍,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天,我揣著相機與錄音牲芋,去河邊找鬼撩笆。 笑死尔破,一個胖子當著我的面吹牛,可吹牛的內容都是我干的浇衬。 我是一名探鬼主播懒构,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼耘擂!你這毒婦竟也來了胆剧?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤醉冤,失蹤者是張志新(化名)和其女友劉穎秩霍,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體蚁阳,經...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡铃绒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了螺捐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颠悬。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖定血,靈堂內的尸體忽然破棺而出赔癌,到底是詐尸還是另有隱情池充,我是刑警寧澤掸犬,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布细移,位于F島的核電站却邓,受9級特大地震影響,放射性物質發(fā)生泄漏元咙。R本人自食惡果不足惜施籍,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一仲吏、第九天 我趴在偏房一處隱蔽的房頂上張望濒析。 院中可真熱鬧正什,春花似錦、人聲如沸悼枢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽馒索。三九已至,卻和暖如春名船,著一層夾襖步出監(jiān)牢的瞬間绰上,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工渠驼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蜈块,地道東北人。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像百揭,于是被迫代替她去往敵國和親爽哎。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內容