時間 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...