最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot中使用Redis的完整實例

 更新時間:2020年09月08日 10:45:31   作者:SnowRoc  
這篇文章主要給大家介紹了關(guān)于SpringBoot中使用Redis的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.在SpringBoot中使用Redis的一套軍體拳

1.導(dǎo)包

 
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-redis</artifactId>
 <version>2.2.0.RELEASE</version>
</dependency>

2.導(dǎo)入工具類

package com.cbsd.util;
import java.util.concurrent.TimeUnit;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.HashOperations;
import org.springframework.data.redis.core.ListOperations;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.SetOperations;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.core.ZSetOperations;
import org.springframework.stereotype.Component;
 
import com.alibaba.fastjson.JSON;
 
/**
 * redisTemplate封裝
 *
 * @author gxp
 */
@Component
public class RedisUtil {
	// private Logger logger = LoggerFactory.getLogger(this.getClass());
 @Autowired
 private RedisTemplate<String, Object> redisTemplate;
 @Autowired
 private ValueOperations<String, String> valueOperations;
 @SuppressWarnings("unused")
 @Autowired
 private HashOperations<String, String, Object> hashOperations;
 @SuppressWarnings("unused")
 @Autowired
 private ListOperations<String, Object> listOperations;
 @SuppressWarnings("unused")
 @Autowired
 private SetOperations<String, Object> setOperations;
 @SuppressWarnings("unused")
	@Autowired
 private ZSetOperations<String, Object> zSetOperations;
 /** 默認(rèn)過期時長,單位:秒 */
 public final static long DEFAULT_EXPIRE = 60 * 60 * 24;
 /** 不設(shè)置過期時長 */
 public final static long NOT_EXPIRE = -1;
 
 public void set(String key, Object value, long expire){
 	
 valueOperations.set(key, toJson(value));
 if(expire != NOT_EXPIRE){
 redisTemplate.expire(key, expire, TimeUnit.SECONDS);
 }
 }
 
 public void set(String key, Object value){
 set(key, value, DEFAULT_EXPIRE);
 }
 
 public <T> T get(String key, Class<T> clazz, long expire) {
 String value = valueOperations.get(key);
 if(expire != NOT_EXPIRE){
 redisTemplate.expire(key, expire, TimeUnit.SECONDS);
 }
 return value == null ? null : fromJson(value, clazz);
 }
 
 public <T> T get(String key, Class<T> clazz) {
 return get(key, clazz, NOT_EXPIRE);
 }
 
 public String get(String key, long expire) {
 String value = valueOperations.get(key);
 if(expire != NOT_EXPIRE){
 redisTemplate.expire(key, expire, TimeUnit.SECONDS);
 }
 return value;
 }
 
 public String get(String key) {
 return get(key, NOT_EXPIRE);
 }
 
 public void delete(String key) {
 redisTemplate.delete(key);
 }
 
 /**
 * Object轉(zhuǎn)成JSON數(shù)據(jù)
 */
 private String toJson(Object object){
 if(object instanceof Integer || object instanceof Long || object instanceof Float ||
 object instanceof Double || object instanceof Boolean || object instanceof String){
 return String.valueOf(object);
 }
 return JSON.toJSONString(object);
 }
 
 /**
 * JSON數(shù)據(jù),轉(zhuǎn)成Object
 */
 private <T> T fromJson(String json, Class<T> clazz){
 return JSON.parseObject(json, clazz);
 }
}

3.在SpringBoot的配置文件中配置redis的服務(wù)器

(1).yml配置文件中

spring: 
 redis:
 open: true # 是否開啟redis緩存 true開啟 false關(guān)閉
 database: 0
 host: redis服務(wù)器地址
 port: redis服務(wù)器端口號
 password: redis服務(wù)器密碼 # 密碼(默認(rèn)為空)
 timeout: 15000 # 連接超時時長(毫秒)
 jedis:
 pool:
 max-active: 1000 # 連接池最大連接數(shù)(使用負(fù)值表示沒有限制)
 max-wait: -1 # 連接池最大阻塞等待時間(使用負(fù)值表示沒有限制)
 max-idle: 10 # 連接池中的最大空閑連接
 min-idle: 5 # 連接池中的最小空閑連接

(2).properties配置文件中

#### 連接redis非關(guān)系型數(shù)據(jù)庫配置
spring.redis.host=redis服務(wù)器地址
spring.redis.password=redis服務(wù)器密碼,默認(rèn)為空
spring.redis.port=redis服務(wù)器端口號
spring.redis.timeout=20000 //超時時間
spring.redis.database=6
spring.redis.lettuce.pool.min-idle=0
spring.redis.lettuce.pool.max-idle=3000
spring.redis.lettuce.pool.max-wait=10000
spring.redis.lettuce.pool.max-active=3000

4.使用

還是補上使用的方法吧

1.存入數(shù)據(jù)的方法

 /**
 * 
 * @param key 同理map的key,可以根據(jù)對應(yīng)的key取到對應(yīng)的值
 * @param value 要存入redis的數(shù)據(jù)
 * @param expire 超時時間,就是數(shù)據(jù)會在redis里面存多久,可以不傳,就是永不超時
 */
 public void set(String key, Object value, long expire){
 	
 valueOperations.set(key, toJson(value));
 if(expire != NOT_EXPIRE){
 redisTemplate.expire(key, expire, TimeUnit.SECONDS);
 }
 }

2.取出數(shù)據(jù)的方法

 /**
 * 
 * @param key 存入數(shù)據(jù)時,設(shè)置的key,根據(jù)可以取到對應(yīng)的數(shù)據(jù)
 * @return
 */ 
 public String get(String key) {
 return get(key, NOT_EXPIRE);
 }

3.還有個刪除

就是調(diào)用delete方法,跟get方法一樣傳一個key過去,就可以刪除對應(yīng)的數(shù)據(jù)了

到此這篇關(guān)于SpringBoot中使用Redis的文章就介紹到這了,更多相關(guān)SpringBoot使用Redis內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 選擇Spring Boot項目的內(nèi)嵌容器的理由

    選擇Spring Boot項目的內(nèi)嵌容器的理由

    Spring Boot是由Pivotal團(tuán)隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。這篇文章主要介紹了選擇Spring Boot項目的內(nèi)嵌容器,需要的朋友可以參考下
    2017-11-11
  • 使用Java快速將Web中表格轉(zhuǎn)換成Excel的方法

    使用Java快速將Web中表格轉(zhuǎn)換成Excel的方法

    在平時做系統(tǒng)項目時,經(jīng)常會需要做導(dǎo)出功能,下面這篇文章主要給大家介紹了關(guān)于使用Java快速將Web中表格轉(zhuǎn)換成Excel的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • JAVA三種攔截方式詳解(原生過濾器Filter、springMVC攔截器、aop切面)

    JAVA三種攔截方式詳解(原生過濾器Filter、springMVC攔截器、aop切面)

    在Java開發(fā)中方法攔截是一種常見的技術(shù),可以用于在方法執(zhí)行前后添加額外的邏輯或修改方法的行為,這篇文章主要給大家介紹了關(guān)于JAVA三種攔截方式的相關(guān)資料,文中介紹的方式分別是原生過濾器Filter、springMVC攔截器、aop切面,需要的朋友可以參考下
    2024-05-05
  • Java中的自定義異常捕獲方式

    Java中的自定義異常捕獲方式

    這篇文章主要介紹了Java中的自定義異常捕獲方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • java判斷今天,昨天,前天,不能用秒間隔的簡單實例

    java判斷今天,昨天,前天,不能用秒間隔的簡單實例

    下面小編就為大家?guī)硪黄猨ava判斷今天,昨天,前天,不能用秒間隔的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • maven在settings.xml和pom.xml中指定jdk版本編譯的方法

    maven在settings.xml和pom.xml中指定jdk版本編譯的方法

    在開發(fā)Java應(yīng)用時,通常需要指定要使用的Java版本,下面這篇文章主要給大家介紹了關(guān)于maven在settings.xm和pom.xml中指定jdk版本編譯的方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • Spring中如何動態(tài)注入Bean實例教程

    Spring中如何動態(tài)注入Bean實例教程

    這篇文章主要給大家介紹了關(guān)于Spring中如何動態(tài)注入Bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Sentinel結(jié)合Nacos實現(xiàn)數(shù)據(jù)持久化過程詳解

    Sentinel結(jié)合Nacos實現(xiàn)數(shù)據(jù)持久化過程詳解

    這篇文章主要介紹了Sentinel結(jié)合Nacos實現(xiàn)數(shù)據(jù)持久化過程,要持久化的原因是因為每次啟動Sentinel都會使之前配置的規(guī)則就清空了,這樣每次都要再去設(shè)定規(guī)則顯得非常的麻煩,感興趣想要詳細(xì)了解可以參考下文
    2023-05-05
  • 配置Servlet兩種方法以及特點詳解

    配置Servlet兩種方法以及特點詳解

    這篇文章主要介紹了配置Servlet兩種方法以及特點詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java設(shè)計模式之策略模式(Strategy模式)介紹

    Java設(shè)計模式之策略模式(Strategy模式)介紹

    這篇文章主要介紹了Java設(shè)計模式之策略模式(Strategy模式)介紹,Strategy是屬于設(shè)計模式中對象行為型模式,要是定義一系列的算法,這些算法一個個封裝成單獨的類,需要的朋友可以參考下
    2015-03-03

最新評論

鄱阳县| 柳州市| 民勤县| 荣成市| 工布江达县| 呼和浩特市| 易门县| 新巴尔虎左旗| 渑池县| 启东市| 建德市| 钦州市| 扶沟县| 辽源市| 璧山县| 北碚区| 拉萨市| 鄢陵县| 朔州市| 城步| 温宿县| 高青县| 上饶县| 遂昌县| 海门市| 孝感市| 东乌珠穆沁旗| 广平县| 崇义县| 广州市| 威宁| 会昌县| 沙洋县| 高台县| 城口县| 沐川县| 洪湖市| 闽侯县| 台安县| 灵寿县| 吐鲁番市|