Spring Boot中使用Redis資料庫

2021-08-08 09:39:51 字數 2690 閱讀 1165

時間 2016-04-15 16:34:49

程式猿dd 原文

主題 redis

spring boot

資料庫

spring boot中除了對常用的關係型資料庫提供了優秀的自動化支援之外,對於很多nosql資料庫一樣提供了自動化配置的支援,包括:redis, mongodb, elasticsearch, solr和cassandra。

redis是乙個開源的使用ansi c語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、key-value資料庫。

引入依賴

spring boot提供的資料訪問框架spring data redis基於jedis。可以通過引入spring-boot-starter-redis來配置依賴關係。

org.springframework.bootgroupid>

spring-boot-starter-redisartifactid>

dependency>

引數配置
# redis (redisproperties)

# redis資料庫索引(預設為0)

spring.redis.database=0

# redis伺服器位址

spring.redis.host=localhost

# redis伺服器連線埠

spring.redis.port=6379

# redis伺服器連線密碼(預設為空)

spring.redis.password=

# 連線池最大連線數(使用負值表示沒有限制)

spring.redis.pool.max-active=8

# 連線池最大阻塞等待時間(使用負值表示沒有限制)

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

# 連線池中的最大空閒連線

spring.redis.pool.max-idle=8

# 連線池中的最小空閒連線

spring.redis.pool.min-idle=0

# 連線超時時間(毫秒)

spring.redis.timeout=0

其中spring.redis.database的配置通常使用0即可,redis在配置的時候可以設定資料庫數量,預設為16,可以理解為資料庫的schema

測試訪問

通過編寫測試用例,舉例說明如何訪問redis。

@runwith(springjunit4classrunner.class)

@autowired

private stringredistemplate stringredistemplate;

@test

public void test() throws exception

}

通過上面這段極為簡單的測試案例演示了如何通過自動配置的stringredistemplate物件進行redis的讀寫操作,該物件從命名中就可注意到支援的是string型別。如果有使用過spring-data-redis的開發者一定熟悉redistemplate介面,stringredistemplate就相當於redistemplate的實現。

除了string型別,實戰中我們還經常會在redis中儲存物件,這時候我們就會想是否可以使用類似redistemplate來初始化並進行操作。但是spring boot並支援直接使用,需要我們自己實現redisserializer介面來對傳入物件進行序列化和反序列化,下面我們通過乙個例項來完成物件的讀寫操作。

public

class

user

implements

serializable

// 省略getter和setter

}

public

class

redisobjectserializer

implements

redisserializer

try catch (exception ex)

} public

byte serialize(object object)

try catch (exception ex)

} private

boolean

isempty

(byte data)

}

@configuration

public class

redisconfig

@bean

public redistemplate redistemplate(redisconnectionfactory factory)

}

@runwith(springjunit4classrunner.class)

public class

}

當然spring-data-redis中提供的資料操作遠不止這些,本文僅作為在spring boot中使用redis時的配置參考,更多對於redis的操作使用,請參考 spring-data-redis reference。

Spring Boot中使用MongoDB資料庫

前段時間分享了關於spring boot中使用redis的文章,除了redis之後,我們在網際網路產品中還經常會用到另外一款著名的nosql資料庫mongodb。下面就來簡單介紹一下mongodb,並且通過乙個例子來介紹spring boot中對mongodb訪問的配置和使用。mongodb是乙個基...

Spring Boot中使用MongoDB資料庫

前段時間分享了關於spring boot中使用redis的文章,除了redis之後,我們在網際網路產品中還經常會用到另外一款著名的nosql資料庫mongodb。下面就來簡單介紹一下mongodb,並且通過乙個例子來介紹spring boot中對mongodb訪問的配置和使用。mongodb是乙個基...

SpringBoot中使用日誌

結果 所有配置檔案都會被載入,高優先順序的配置檔案會覆蓋低優先順序的配置檔案 springboot 底層是spring框架,spring框架預設是用jcl springboot選用slf4j和logback作為日誌框架 如何使用slf4j import org.slf4j.logger import...