目錄
在工作中,我們用到分布式快取的時候,第一選擇就是redis,今天介紹一下springboot如何整合redis的,分別使用jedis和spring-data-redis兩種方式。
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
true
redis.clients
jedis
com.alibabawww.cppcns.comupid>
fastjson
1.2.73
redis.host=localhost
redis.maxtotal=5
redis.maxidle=5
redis.testonborrow=true
#以下方式也可以,springboot同樣能將其解析注入到jedispoolconfig中
#redis.max-total=3
#redis.max-idle=3
#redis.test-on-borrow=true
/*** @author 公-眾-號:程式設計師阿牛
* 由於jedis例項本身不非執行緒安全的,因此我們用jedispool
*/@configuration
public class commonconfig
@bean(destroymethod = "close")
public jedispool jedispool(@value("$") string host)
}/**
* @author 公-眾-號:程式設計師阿牛
*/@restcontroller
public class jediscontroller
}執行結果如下:
我們可以自己包裝乙個redisclient,來簡化我們的操作
程式設計客棧ncy>
org.springframework.boot
spring-boot-starter-data-redis
在application.properties中增加配置
spring.redis.host=localhost
spring.redis.port=6379
/*** @author 公-眾-號:程式設計師阿牛
*/@restcontroller
public class rediscontroller
}是的,你只需要引入依賴、加入配置就可以使用redis了,不要高興的太早,這裡面會有一些坑
使用工具檢視我們剛才set的內容,發現key前面多了一串字元,value也是不可見的
原因使用springdataredis,預設情況下是使用org.springframework.data.redis.serializer.jdkserializationredisserializer這個類來做序列化
具體我們看一下redistemplate **如何實現的
/***在初始化的時候,預設的序列化類是jdkserializationredisserializer
*/public void afterpropertiesset()
...省略無關**
}如何解決
很簡單,自己定義redistemplate並指定序列化類即可
/*** @author 公-眾-號:程式設計師阿牛
*/@configuration
public class redisconfig
@bean
public redisserializer jackson2jsonredisserializer()
}/**
* @author 公-眾-號:程式設計師阿牛
*/@configuration
public class redisconfig
@bean
public redisserializer jackson2jsonredisserializer()
}檢視執行結果:
只需要改一下配置項即可
# 哨兵
spring.redis.sentinel.master=mymaster
spring.redis.sentinel.nodes=127.0.0.1:26379,127.0.0.1:26380,127.0.0.1:26381
#集群spring.redis.cluster.max-redirects=100
spring.redis.cluster.nodes=127.0.0.1:6379,127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384
以上兩種方式都可以,但是還是建議你使用spring-data-redis,因為spring經過多年的發展,尤其是springboot的日漸成熟,已經為我們簡化了很多操作。
Spring整合Struts詳解
spring雖然也提供了自已的mvc元件,但一來spring的mvc元件過於繁瑣,二來是struts的使用者眾多,因此,很多專案還是選擇使用spring整合struts框架,而且spring可以無縫的整合strtus框架,二者結合成乙個更實際的j2ee開發平台 使用spring的web應用時,不用手...
spring整合mybatis詳解
在上篇螃蟹已經說明spring註解的最經典配置,接下來開始整合mybatis,這樣整個專案就相對完整了。有關本例項的原始碼可以到 spring mvc註解例項及說明文件 首先依舊是找到spring的主配置檔案 然後進行如下配置 這麼做的目的有兩個,乙個是專案啟動時會直接初始化qlsessionfac...
spring整合redis集群配置
pom.xml org.springframework.data spring data redis 1.7.4.release org.slf4j slf4j api 這裡為什麼要排除slf日誌?因為我的框架使用的是log4j,如果有slf,那麼log4j的日誌將不生效。所以要排除。因為sprin...