欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Boot集成Redis實(shí)戰(zhàn)操作功能

 更新時(shí)間:2018年11月05日 10:38:29   作者:Java比海盜  
這篇文章主要介紹了Spring Boot集成Redis實(shí)戰(zhàn)操作,包括如何集成redis以及redis的一些優(yōu)點(diǎn),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

最近在使用Spring Boot,發(fā)現(xiàn)其功能真是強(qiáng)大,可以快速的集成很多的組件功能,非常方便:

今天就來(lái)介紹下,如何集成Redis。

定義

Redis 是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。它支持存儲(chǔ)的value類型很多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set –有序集合)和hash(哈希類型)。

以下是Redis的一些優(yōu)點(diǎn)。

異???- Redis非???,每秒可執(zhí)行大約110000次的設(shè)置(SET)操作,每秒大約可執(zhí)行81000次的讀取/獲取(GET)操作。

支持豐富的數(shù)據(jù)類型 - Redis支持開(kāi)發(fā)人員常用的大多數(shù)數(shù)據(jù)類型,例如列表,集合,排序集和散列等等。這使得Redis很容易被用來(lái)解決各種問(wèn)題,因?yàn)槲覀冎滥男﹩?wèn)題可以更好使用地哪些數(shù)據(jù)類型來(lái)處理解決。

操作具有原子性 - 所有Redis操作都是原子操作,這確保如果兩個(gè)客戶端并發(fā)訪問(wèn),Redis服務(wù)器能接收更新的值。

多實(shí)用工具 - Redis是一個(gè)多實(shí)用工具,可用于多種用例,如:緩存,消息隊(duì)列(Redis本地支持發(fā)布/訂閱),應(yīng)用程序中的任何短期數(shù)據(jù),例如,web應(yīng)用程序中的會(huì)話,網(wǎng)頁(yè)命中計(jì)數(shù)等。

如何搭建?

一.加入Redis相關(guān)依賴

二、application.properties中加入redis相關(guān)配置

在@Configuration或者集成了這個(gè)注解的注解標(biāo)識(shí)的類中聲明一個(gè)Redis的bean,本例是在入口類上聲明的Bean:

在Controller里注入StringRedisTemplate:

啟動(dòng)瀏覽器訪問(wèn):

以上是手動(dòng)進(jìn)行redis的操作,那如何進(jìn)行自動(dòng)的的緩存操作呢?

在啟動(dòng)類中添加注解

@EnableCaching會(huì)為每個(gè)bean中被 @Cacheable, @CachePut and @CacheEvict修飾的public方法進(jìn)行緩存操作。

緩存的用法

這個(gè)方法在userId相同形同的情況下,第一次調(diào)用的時(shí)候會(huì)執(zhí)行方法,以后每次在調(diào)用的時(shí)候會(huì)讀取緩存中的數(shù)據(jù)。

緩存的注解介紹:

@Cacheable

這個(gè)注解,會(huì)每次先檢查是否執(zhí)行過(guò)這個(gè)方法,在從緩存數(shù)據(jù)庫(kù)中查看key是否相等,如果找到了,從緩存中讀取,沒(méi)有匹配的那么執(zhí)行該方法,將結(jié)果緩存。

緩存都是通過(guò)key-value進(jìn)行儲(chǔ)存的,value或cacheNames必須指定(value是cacheNames的別名),指定多個(gè)value用(value = {"value1", "value2"})如果沒(méi)有指定key,spring會(huì)提供一個(gè)默認(rèn)的KeyGenerator,這個(gè)KeyGenerator根據(jù)參數(shù)生成key,如果方法沒(méi)有參數(shù)返回KeyGenerator.EMPTY,如果有一個(gè)參數(shù)返回這個(gè)實(shí)例,如果有多個(gè)參數(shù)返回包含這些參數(shù)的SimpleKey??梢酝ㄟ^(guò)繼承CachingConfigurerSupport自己指定KeyGenerator,類上加@Configuration注解。也可以像上面那樣自己指定key,需要了解SPEL表達(dá)式。

多線程的情況下,可能同時(shí)會(huì)有多個(gè)線程同時(shí)進(jìn)入一個(gè)沒(méi)被緩存過(guò)的方法,這樣會(huì)導(dǎo)致多個(gè)線程都會(huì)執(zhí)行一遍方法,sync="true"會(huì)將第一次計(jì)算返回值的這個(gè)方法lock,計(jì)算完成后將結(jié)果緩存

備注:Redis最為常用的數(shù)據(jù)類型主要有以下:

  •  String
  •  Hash
  •  List
  •  Set
  •  Sorted set
  •  pub/sub
  •  Transactions

總結(jié)

以上所述是小編給大家介紹的Spring Boot集成Redis實(shí)戰(zhàn)操作功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析

    java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析

    這篇文章主要介紹了java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Java基礎(chǔ)教程之繼承詳解

    Java基礎(chǔ)教程之繼承詳解

    這篇文章主要介紹了Java基礎(chǔ)教程之繼承詳解,繼承是除組合(composition)之外,提高代碼重復(fù)可用性(reusibility)的另一種重要方式,本文對(duì)繼承做了詳細(xì)講解,需要的朋友可以參考下
    2014-08-08
  • 基于Java利用static實(shí)現(xiàn)單例模式

    基于Java利用static實(shí)現(xiàn)單例模式

    這篇文章主要介紹了基于Java利用static實(shí)現(xiàn)單例模式,當(dāng)在多個(gè)線程同時(shí)觸發(fā)類的初始化過(guò)程的時(shí)候static不會(huì)被多次執(zhí)行,下面我們一起進(jìn)入文章看看具體要的原因
    2022-01-01
  • JavaWeb工程中集成YMP框架快速上手

    JavaWeb工程中集成YMP框架快速上手

    YMP是一個(gè)非常簡(jiǎn)單、易用的一套輕量級(jí)JAVA應(yīng)用開(kāi)發(fā)框架,設(shè)計(jì)原則主要側(cè)重于簡(jiǎn)化工作任務(wù)、規(guī)范開(kāi)發(fā)流程、提高開(kāi)發(fā)效率。對(duì)YMP框架感興趣的小伙伴們可以參考一下
    2016-02-02
  • 詳解Java Bellman-Ford算法原理及實(shí)現(xiàn)

    詳解Java Bellman-Ford算法原理及實(shí)現(xiàn)

    Bellman-Ford算法與Dijkstra算法類似,都是以松弛操作作為基礎(chǔ),Bellman-Ford算法是對(duì)所有邊都進(jìn)行松弛操作,本文將詳解Bellman-Ford算法原理及實(shí)現(xiàn),感興趣的可以了解一下
    2022-07-07
  • 利用Java實(shí)現(xiàn)解析網(wǎng)頁(yè)中的內(nèi)容

    利用Java實(shí)現(xiàn)解析網(wǎng)頁(yè)中的內(nèi)容

    這篇文章主要為大家詳細(xì)介紹了如何利用Java語(yǔ)言做一個(gè)解析指定網(wǎng)址的網(wǎng)頁(yè)內(nèi)容小應(yīng)用,文中的實(shí)現(xiàn)步驟講解詳細(xì),感興趣的可以嘗試下
    2022-10-10
  • 用IntelliJ IDEA看Java類圖的方法(圖文)

    用IntelliJ IDEA看Java類圖的方法(圖文)

    這篇文章主要介紹了用IntelliJ IDEA看Java類圖的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 新手了解java 反射基礎(chǔ)知識(shí)

    新手了解java 反射基礎(chǔ)知識(shí)

    這篇文章主要介紹了Java反射機(jī)制的相關(guān)內(nèi)容,涉及了class類的動(dòng)態(tài)加載,獲取成員變量、構(gòu)造函數(shù)信息等信息,需要的朋友可以參考下,希望對(duì)你有所幫助
    2021-07-07
  • Java?API操作Hdfs的示例詳解

    Java?API操作Hdfs的示例詳解

    這篇文章主要介紹了Java?API操作Hdfs詳細(xì)示例,遍歷當(dāng)前目錄下所有文件與文件夾,可以使用listStatus方法實(shí)現(xiàn)上述需求,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • javaweb 實(shí)現(xiàn)文件下載的方法及實(shí)例代碼

    javaweb 實(shí)現(xiàn)文件下載的方法及實(shí)例代碼

    這篇文章主要介紹了javaweb 實(shí)現(xiàn)文件下載的方法的相關(guān)資料,這里提供了實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2016-11-11

最新評(píng)論