欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何在Springboot中使用緩存-創(chuàng)新互聯(lián)

本篇文章為大家展示了如何在Springboot中使用緩存,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

為陸良等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及陸良網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、陸良網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

 具體在Springboot中使用緩存如下:

1.在pom.xml中引入cache依賴,添加如下內(nèi)容:

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

2.在Spring Boot主類(lèi)中增加@EnableCaching注解開(kāi)啟緩存功能,如下:

@SpringBootApplication
@EnableCaching
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
}

3.在數(shù)據(jù)訪問(wèn)接口中,增加緩存配置注解,如:

@CacheConfig(cacheNames = "users")
public interface UserRepository extends JpaRepository<User, Long> {
  @Cacheable
  User findByName(String name);
}

SpringBoot支持很多種緩存方式:redis、guava、ehcahe、jcache等等。

 說(shuō)明下redis和ehcache的區(qū)別:

Redis:屬于獨(dú)立的運(yùn)行程序,需要單獨(dú)安裝后,使用Java中的Jedis來(lái)操縱。因?yàn)樗仟?dú)立,所以如果你寫(xiě)個(gè)單元測(cè)試程序,放一些數(shù)據(jù)在Redis中,然后又寫(xiě)一個(gè)程序去拿數(shù)據(jù),那么是可以拿到這個(gè)數(shù)據(jù)的。,
ehcache:與Redis明顯不同,它與java程序是綁在一起的,java程序活著,它就活著。譬如,寫(xiě)一個(gè)獨(dú)立程序放數(shù)據(jù),再寫(xiě)一個(gè)獨(dú)立程序拿數(shù)據(jù),那么是拿不到數(shù)據(jù)的。只能在獨(dú)立程序中才能拿到數(shù)據(jù)。

如果使用Ehcache,只需要在工程中加入ehcache.xml配置文件并在pom.xml中增加ehcache依賴,框架只要發(fā)現(xiàn)該文件,就會(huì)創(chuàng)建EhCache的緩存管理器。

1、在src/main/resources目錄下創(chuàng)建:ehcache.xml

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="ehcache.xsd">
  <cache name="users"
      maxEntriesLocalHeap="200"
      timeToLiveSeconds="600">
  </cache>
</ehcache>

對(duì)于EhCache的配置文件也可以通過(guò)application.properties文件中使用spring.cache.ehcache.config屬性來(lái)指定,比如:

spring.cache.ehcache.config=classpath:config/another-config.xml

2、在pom.xml中加入

<dependency>
  <groupId>net.sf.ehcache</groupId>
  <artifactId>ehcache</artifactId>
</dependency>

Cache注解詳解

@CacheConfig:主要用于配置該類(lèi)中會(huì)用到的一些共用的緩存配置。在這里@CacheConfig(cacheNames = "users"):配置了該數(shù)據(jù)訪問(wèn)對(duì)象中返回的內(nèi)容將存儲(chǔ)于名為users的緩存對(duì)象中,我們也可以不使用該注解,直接通過(guò)@Cacheable自己配置緩存集的名字來(lái)定義。

 @Cacheable:配置了findByName函數(shù)的返回值將被加入緩存。同時(shí)在查詢時(shí),會(huì)先從緩存中獲取,若不存在才再發(fā)起對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)。該注解主要有下面幾個(gè)參數(shù):

  1. value、cacheNames:兩個(gè)等同的參數(shù)(cacheNames為Spring 4新增,作為value的別名),用于指定緩存存儲(chǔ)的集合名。由于Spring 4中新增了@CacheConfig,因此在Spring 3中原本必須有的value屬性,也成為非必需項(xiàng)了

  2. key:緩存對(duì)象存儲(chǔ)在Map集合中的key值,非必需,缺省按照函數(shù)的所有參數(shù)組合作為key值,若自己配置需使用SpEL表達(dá)式,比如:@Cacheable(key = "#p0"):使用函數(shù)第一個(gè)參數(shù)作為緩存的key值,更多關(guān)于SpEL表達(dá)式的詳細(xì)內(nèi)容可參考官方文檔

  3. condition:緩存對(duì)象的條件,非必需,也需使用SpEL表達(dá)式,只有滿足表達(dá)式條件的內(nèi)容才會(huì)被緩存,比如:@Cacheable(key = "#p0", condition = "#p0.length() < 3"),表示只有當(dāng)?shù)谝粋€(gè)參數(shù)的長(zhǎng)度小于3的時(shí)候才會(huì)被緩存,若做此配置上面的AAA用戶就不會(huì)被緩存,讀者可自行實(shí)驗(yàn)嘗試。

  4. unless:另外一個(gè)緩存條件參數(shù),非必需,需使用SpEL表達(dá)式。它不同于condition參數(shù)的地方在于它的判斷時(shí)機(jī),該條件是在函數(shù)被調(diào)用之后才做判斷的,所以它可以通過(guò)對(duì)result進(jìn)行判斷。

  5. keyGenerator:用于指定key生成器,非必需。若需要指定一個(gè)自定義的key生成器,我們需要去實(shí)現(xiàn)org.springframework.cache.interceptor.KeyGenerator接口,并使用該參數(shù)來(lái)指定。需要注意的是:該參數(shù)與key是互斥的

  6. cacheManager:用于指定使用哪個(gè)緩存管理器,非必需。只有當(dāng)有多個(gè)時(shí)才需要使用

  7. cacheResolver:用于指定使用那個(gè)緩存解析器,非必需。需通過(guò)org.springframework.cache.interceptor.CacheResolver接口來(lái)實(shí)現(xiàn)自己的緩存解析器,并用該參數(shù)指定。

除了這里用到的兩個(gè)注解之外,還有下面幾個(gè)核心注解:

  1. @CachePut:配置于函數(shù)上,能夠根據(jù)參數(shù)定義條件來(lái)進(jìn)行緩存,它與@Cacheable不同的是,它每次都會(huì)真是調(diào)用函數(shù),所以主要用于數(shù)據(jù)新增和修改操作上。它的參數(shù)與@Cacheable類(lèi)似,具體功能可參考上面對(duì)@Cacheable參數(shù)的解析

  2. @CacheEvict:配置于函數(shù)上,通常用在刪除方法上,用來(lái)從緩存中移除相應(yīng)數(shù)據(jù)。除了同@Cacheable一樣的參數(shù)之外,它還有下面兩個(gè)參數(shù):

    1. allEntries:非必需,默認(rèn)為false。當(dāng)為true時(shí),會(huì)移除所有數(shù)據(jù)

    2. beforeInvocation:非必需,默認(rèn)為false,會(huì)在調(diào)用方法之后移除數(shù)據(jù)。當(dāng)為true時(shí),會(huì)在調(diào)用方法之前移除數(shù)據(jù)。

上述內(nèi)容就是如何在Springboot中使用緩存,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁(yè)名稱(chēng):如何在Springboot中使用緩存-創(chuàng)新互聯(lián)
標(biāo)題路徑:http://aaarwkj.com/article24/cogoce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)公司、ChatGPT、做網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
国产精品剧情在线播放| 亚洲人成免费观看网站| 国产精品麻豆久久av| 微拍福利一区二区三区| 日韩免费黄色av网站| 日韩传媒在线观看视频| 国产一区免费二区三区四区| 天天干夜夜泡天天操| 国产三级无遮挡在线观看| 在线观看免费国产b片| 欧美成人夫妻性生活视频| 日韩午夜电影一区二区三区| 日韩精品一区中文字幕在线| 夫妻性生活短是什么原因| 91黑丝国产在线播放| 国产精品久久久久精品综合| 国产精品一级二区三区| 亚洲欧美日韩性生活视频| 亚洲精品中文字幕码专区| 精品中文人妻中文字幕| 日韩精品国产亚洲欧美| 欧美亚洲精品在线观看| 亚洲高清无毛一区二区| 国产一区二区精品久久岳√| 亚洲精品国产第一区| 久久精品亚洲熟女av蜜謦| 在线高清中文字幕三区| 91亚洲婷婷国产综合精品| 九九热在线免费观看精品视频 | 午夜精品三级一区二区三区| 国产精品岛国片在线观看| 白嫩少妇情久久密月久久| 国产av白浆一区二区色爽黄| 免费福利激情在线播放| 亚洲一区二区三区经典精品| 日韩av亚洲一区二区三区| 凹凸国产精品熟女视频| 中文字幕国产精品资源| 欧美三级影院网上在线| 日韩高清在线亚洲专区不卡| 国产成年人免费小视频|