在springboot項目中,集成各種框架變得非常容易。下面簡單介紹一下如何在springboot項目中集成單機模式redis。集群模式也差不多,這裡就不過多介紹了。

  • 首先你得安裝redis服務,無論在linux還是windows系統上。如果沒有安裝,請自行百度或使用其他科學網站幫助。隨後需要在項目的配置文件中配置redis相關參數以及設置jedis連接池的參數。可參考下圖配置方式:

  • 由於本人使用了maven方式來構建項目,所以需要在項目的pom文件中加入redis相關依賴。

  • 之後就需要實現redis配置文件類。配置文件的jedis連接池配置就不列出來了,反正就是根本properties文件來一步一步設置,連接工廠也是跟連接池有關。這裡重點介紹一下redisTemplate的實現,以及與redis操作工具類的配合使用。可以根據下圖來進行個性化設置:

  • 實現配置文件後,就可以在redis工具類RedisUtil中使用redisTemplate了。如下圖所示:

  • 這裡redisTemplate實例化是在redis配置類中實現的。直接將RedisUtil通過註解方式直接注入到spring容器中去,在此過程中使用工具類的setRedisTemplate方法實例化RedisTemplate。這樣就能直接通過@AutoWired註解去裝配Bean了。

  • 在RedisUtil工具類中,我們通過redisTemplate去操作數據結構。無論是一般數據(String),還是Map數據結構,還是List數據結構,都有相應的操作方法。如下圖:

  • 工具類完成後,在相應的服務層使用這個工具類來操作redis的數據結構實現相應業務。

以上就是一個redis操作類在speingboot項目中的簡單實現。除了數據結構的操作,我們還能使用redis的特性來實現一些業務場景特定的功能。例如使用increment方法實現點贊功能;利用redis單線程特性生成唯一主鍵;將redis與Lua腳本相結合,實現redis分散式鎖,當然這需要考慮到業務時間與過期時間的關係問題。

除此之外,在使用redis過程中應該需要考慮到雪崩、穿透和擊穿等問題,這也是在面試過程中經常問到的問題。希望對你有所幫助。


Redis 數據結構簡介Redis 可以存儲鍵與5種不同數據結構類型之間的映射,這5種數據結構類型分別為String(字元串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。

下面來對這5種數據結構類型作簡單的介紹:

結構類型 結構存儲的值 結構的讀寫能力String 可以是字元串、整數或者浮點數 對整個字元串或者字元串的其中一部分執行操作;對象和浮點數執行自增(increment)或者自減(decrement)List 一個鏈表,鏈表上的每個節點都包含了一個字元串 從鏈表的兩端推入或者彈出元素;根據偏移量對鏈表進行修剪(trim);讀取單個或者多個元素;根據值來查找或者移除元素Set 包含字元串的無序收集器(unorderedcollection),並且被包含的每個字元串都是獨一無二的、各不相同 添加、獲取、移除單個元素;檢查一個元素是否存在於某個集合中;計算交集、並集、差集;從集合里賣弄隨機獲取元素Hash 包含鍵值對的無序散列表 添加、獲取、移除單個鍵值對;獲取所有鍵值對Zset 字元串成員(member)與浮點數分值(score)之間的有序映射,元素的排列順序由分值的大小決定 添加、獲取、刪除單個元素;根據分值範圍(range)或者成員來獲取元素Redis 5種數據結構的概念大致介紹到這邊,下面將結合Spring封裝的RedisTemplate來對這5種數據結構的運用進行演示

RedisTemplate介紹spring 封裝了 RedisTemplate 對象來進行對redis的各種操作,它支持所有的 redis 原生的 api。

RedisTemplate在spring代碼中的結構如下:

org.springframework.data.redis.coreClass RedisTemplate<K,V>java.lang.Objectorg.springframework.data.redis.core.RedisAccessororg.springframework.data.redis.core.RedisTemplate<K,V>Type Parameters:K

the Redis key type against which the template works (usually a String)模板中的Redis!


推薦閱讀:
相关文章