亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring Boot集成Redis實戰操作

發布時間:2020-08-06 18:16:03 來源:ITPUB博客 閱讀:162 作者:Java大蝸牛 欄目:編程語言

最近在使用Spring Boot,發現其功能真是強大,可以快速的集成很多的組件功能,非常方便:

Spring Boot集成Redis實戰操作

今天就來介紹下,如何集成Redis

Spring Boot集成Redis實戰操作

定義

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

以下是Redis的一些優點。

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

支持豐富的數據類型 - Redis支持開發人員常用的大多數數據類型,例如列表,集合,排序集和散列等等。這使得Redis很容易被用來解決各種問題,因為我們知道哪些問題可以更好使用地哪些數據類型來處理解決。

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

多實用工具 - Redis是一個多實用工具,可用于多種用例,如:緩存,消息隊列(Redis本地支持發布/訂閱),應用程序中的任何短期數據,例如,web應用程序中的會話,網頁命中計數等。

如何搭建?

一.加入Redis相關依賴

Spring Boot集成Redis實戰操作

二、application.properties中加入redis相關配置

Spring Boot集成Redis實戰操作

在@Configuration或者集成了這個注解的注解標識的類中聲明一個Redis的bean,本例是在入口類上聲明的Bean:

Spring Boot集成Redis實戰操作

在Controller里注入StringRedisTemplate:

Spring Boot集成Redis實戰操作

啟動瀏覽器訪問:

Spring Boot集成Redis實戰操作

以上是手動進行redis的操作,那如何進行自動的的緩存操作呢?

在啟動類中添加注解

Spring Boot集成Redis實戰操作

@EnableCaching會為每個bean中被 @Cacheable, @CachePut and @CacheEvict修飾的public方法進行緩存操作。

緩存的用法

Spring Boot集成Redis實戰操作

這個方法在userId相同形同的情況下,第一次調用的時候會執行方法,以后每次在調用的時候會讀取緩存中的數據。

緩存的注解介紹:

@Cacheable

這個注解,會每次先檢查是否執行過這個方法,在從緩存數據庫中查看key是否相等,如果找到了,從緩存中讀取,沒有匹配的那么執行該方法,將結果緩存。 順便在此給大家推薦一個Java架構方面的交流學習群:698581634,進群即可獲取Java架構師資料:有Spring,MyBatis,Netty源碼分析,高并發、高性能、分布式、微服務架構的原理,JVM性能優化這些成為架構師必備的知識體系,群里一定有你需要的資料,大家趕緊加群吧。

緩存都是通過key-value進行儲存的,value或cacheNames必須指定(value是cacheNames的別名),指定多個value用(value = {"value1", "value2"})如果沒有指定key,spring會提供一個默認的KeyGenerator,這個KeyGenerator根據參數生成key,如果方法沒有參數返回KeyGenerator.EMPTY,如果有一個參數返回這個實例,如果有多個參數返回包含這些參數的SimpleKey。可以通過繼承CachingConfigurerSupport自己指定KeyGenerator,類上加@Configuration注解。也可以像上面那樣自己指定key,需要了解SPEL表達式。

多線程的情況下,可能同時會有多個線程同時進入一個沒被緩存過的方法,這樣會導致多個線程都會執行一遍方法,sync="true"會將第一次計算返回值的這個方法lock,計算完成后將結果緩存

Spring Boot集成Redis實戰操作

Spring Boot集成Redis實戰操作

備注:Redis最為常用的數據類型主要有以下:

  •  String

  •  Hash

  •  List

  •  Set

  •  Sorted set

  •  pub/sub

  •  Transactions


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁远县| 紫云| 黎平县| 石林| 夹江县| 宜昌市| 信阳市| 民权县| 漯河市| 寻乌县| 昌黎县| 大渡口区| 台山市| 庄河市| 马关县| 沧州市| 佛冈县| 彭水| 启东市| 曲麻莱县| 齐齐哈尔市| 冕宁县| 临洮县| 承德县| 黑龙江省| 安乡县| 信阳市| 海丰县| 嘉禾县| 长葛市| 睢宁县| 克东县| 昔阳县| 巧家县| 宁阳县| 莱西市| 宁晋县| 宜川县| 新干县| 西藏| 赤壁市|