Sprintboot中使用Redis的一些總結

2021-09-26 00:02:50 字數 3101 閱讀 3224

在pom.xml中加入redis相關依賴

org.springframework.boot

spring-boot-starter-data-redis

然後在properties檔案中配置配置檔案

spring.redis.host=***

spring.redis.port=6379

spring.redis.password=***x

spring.redis.pool.max-active=-1

spring.redis.pool.max-wait=-1

spring.redis.pool.max-idle=8

spring.redis.pool.min-idle=0

spring.redis.timeout=1000

然後就可以直接使用stringredistemplate來向redis裡面訪問資料了:

@autowired

private stringredistemplate stringredistemplate;

// 儲存字串

@test

public void test()

簡單的使用就是這麼簡單,甚至於連stringredistemplate是什麼時候注入的都不知道,就能直接用了。所以還是稍微**一下他到底是怎麼肥似。

首頁**到了這個類redisproperties

看一下發現這幾點:

1.類上面有個註解@configurationproperties(prefix = "spring.redis")這裡是封裝了redis所有配置檔案的乙個類。所以properties檔案中怎麼寫redis的配置,從這個類就能看出來了。首先乙個,配置都要以spring.redis為字首,裡面能配置的內容包括:host、埠、密碼、連線池、集群啥的都有。

2.這個類上面只有@configurationproperties註解,並沒有注入ioc相關的註解,所以單看這個類他是沒有注入ioc容器的。

3.這裡面有3個物件(pool、sentinel、cluster),所以如果配置host 可以寫成spring.redis.host=localhost,但是要配置連線池的放就要看一下pool物件有什麼屬性了,所以連線池的配置要寫成spring.redis.pool.maxidle=8, 但是在properties檔案中去寫spring.redis.pool.後面提示的是max-idle,意思應該是乙個意思,應該是**做了對映,但是我沒找到。所以還是以提示的為準。

屬性配好了,下面就是找到根據屬性來連redis了。接下來在redisproperties的同級目錄下,找到個redisautoconfiguration類:

看這個@enableconfigurationproperties(redisproperties.class)有了這個enable才將上面看到的redisproperties類注入到ioc容器。注意這裡的@enableconfigurationproperties註解,他是配合上面redisproperties類中的@configurationproperties註解一起使用,才能將redisproperties注入到ioc的。因為上面的redisproperties類上沒有注入ioc的任何相關註解,只有乙個@configurationproperties,所以redisproperties並不是一定會注入ioc,@enableconfigurationproperties相當於把使用@configurationproperties的類進行了一次注入。

redisautoconfiguration類裡面有兩個內部類:redisconnectionconfigurationredisconfiguration

先看redisconnectionconfiguration類:

類上的注釋說了,這是乙個redis連線配置類。裡面是三種配置方式的配置:

這幾個配置檔案下面就是乙個注入到ioc的jedisconnectionfactory,他是redis的連線工廠類,主要作用就是根據配置檔案中的配置來取redis各種連線。

再下面乙個類是redisconfiguration

注釋裡面說這是乙個標準的redis配置類。

這個類裡面配置了2個bean,redistemplatestringredistemplate,終於找到他們了,上面說的stringredistemplate是在這裡注入到ioc的。

但是這2個bean的配置上面都有乙個@conditionalo****singbean註解,看字面意思大概能猜的到,意思是只有當我們沒有注入括號裡面指定的bean物件的時候,這2個類上面的@bean才起作用。所以當我們不手動進行任何配置的時候仍然可以使用redistemplatestringredistemplate

CentOS系統中使用yum命令安裝redis

在linux centos系統中使用yum命令安裝redis報錯 root localhost install yum install redis loaded plugins fastestmirror setting up install process determining fastest ...

re模組使用

import re strdata python is the best language in the world match只能匹配以 開頭的子符串,第乙個引數是正則,第二個引數是需要匹配的字串 res re.match p strdata,re.i re.i引數表示忽略大小寫 res re.m...

RE模組使用

i mport reli re.match d 12821j128j312893j129 match方法,先使用正規表示式,然後傳入待查字串 print li 結果物件 sre.sre match object span 0,5 match 12821 ifli print li.group 獲得資...