欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot中使用Redis的完整實(shí)例

 更新時(shí)間:2020年09月08日 10:45:31   作者:SnowRoc  
這篇文章主要給大家介紹了關(guān)于SpringBoot中使用Redis的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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)過(guò)期時(shí)長(zhǎng),單位:秒 */
 public final static long DEFAULT_EXPIRE = 60 * 60 * 24;
 /** 不設(shè)置過(guò)期時(shí)長(zhǎng) */
 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ù)器端口號(hào)
 password: redis服務(wù)器密碼 # 密碼(默認(rèn)為空)
 timeout: 15000 # 連接超時(shí)時(shí)長(zhǎng)(毫秒)
 jedis:
 pool:
 max-active: 1000 # 連接池最大連接數(shù)(使用負(fù)值表示沒(méi)有限制)
 max-wait: -1 # 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒(méi)有限制)
 max-idle: 10 # 連接池中的最大空閑連接
 min-idle: 5 # 連接池中的最小空閑連接

(2).properties配置文件中

#### 連接redis非關(guān)系型數(shù)據(jù)庫(kù)配置
spring.redis.host=redis服務(wù)器地址
spring.redis.password=redis服務(wù)器密碼,默認(rèn)為空
spring.redis.port=redis服務(wù)器端口號(hào)
spring.redis.timeout=20000 //超時(shí)時(shí)間
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.使用

還是補(bǔ)上使用的方法吧

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

 /**
 * 
 * @param key 同理map的key,可以根據(jù)對(duì)應(yīng)的key取到對(duì)應(yīng)的值
 * @param value 要存入redis的數(shù)據(jù)
 * @param expire 超時(shí)時(shí)間,就是數(shù)據(jù)會(huì)在redis里面存多久,可以不傳,就是永不超時(shí)
 */
 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í),設(shè)置的key,根據(jù)可以取到對(duì)應(yīng)的數(shù)據(jù)
 * @return
 */ 
 public String get(String key) {
 return get(key, NOT_EXPIRE);
 }

3.還有個(gè)刪除

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

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

相關(guān)文章

  • Java實(shí)現(xiàn)兩人五子棋游戲(五) 判斷是否有一方勝出

    Java實(shí)現(xiàn)兩人五子棋游戲(五) 判斷是否有一方勝出

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)兩人五子棋游戲,判斷是否有一方勝出,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • java定時(shí)任務(wù)的實(shí)現(xiàn)方式

    java定時(shí)任務(wù)的實(shí)現(xiàn)方式

    這篇文章主要介紹了java定時(shí)任務(wù)的實(shí)現(xiàn)方式,在應(yīng)用里經(jīng)常都有用到在后臺(tái)跑定時(shí)任務(wù)的需求,如何進(jìn)行java定時(shí)任務(wù),本文為大家進(jìn)行講解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • IDEA中Maven依賴下載失敗的完美解決方案

    IDEA中Maven依賴下載失敗的完美解決方案

    使用IDEA進(jìn)行Maven項(xiàng)目開發(fā)時(shí),時(shí)不時(shí)會(huì)遇到pom.xml報(bào)錯(cuò)的情況,其中很大概率是因?yàn)镸aven依賴的jar包下載失敗,找來(lái)找去也沒(méi)有找到是什么問(wèn)題,困擾了很多程序猿,這里給出IDEA中Maven依賴下載失敗解決方案,給大家參考,實(shí)測(cè)有用
    2020-04-04
  • springboot實(shí)現(xiàn)登錄功能的完整步驟

    springboot實(shí)現(xiàn)登錄功能的完整步驟

    這篇文章主要給大家介紹了關(guān)于springboot實(shí)現(xiàn)登錄功能的完整步驟,在web應(yīng)用程序中,用戶登錄權(quán)限驗(yàn)證是非常重要的一個(gè)步驟,文中通過(guò)代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • JAVA項(xiàng)目常用異常處理匯總

    JAVA項(xiàng)目常用異常處理匯總

    這篇文章主要介紹了JAVA項(xiàng)目常用異常處理匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringAOP中的Advisor詳解

    SpringAOP中的Advisor詳解

    這篇文章主要介紹了SpringAOP中的Advisor詳解,平時(shí)我們項(xiàng)目中涉及到?AOP,基本上就是聲明式配置一下就行了,無(wú)論是基于?XML?的配置還是基于?Java?代碼的配置,都是簡(jiǎn)單配置即可使用,今天就來(lái)看一下聲明式配置的使用,需要的朋友可以參考下
    2023-08-08
  • Spring Boot之@Async異步線程池示例詳解

    Spring Boot之@Async異步線程池示例詳解

    在Spring Boot中,我們只需要通過(guò)使用@Async注解就能簡(jiǎn)單的將原來(lái)的同步函數(shù)變?yōu)楫惒胶瘮?shù),下面這篇文章主要給大家介紹了關(guān)于Spring Boot之@Async異步線程池的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • SpringMVC請(qǐng)求參數(shù)的使用總結(jié)

    SpringMVC請(qǐng)求參數(shù)的使用總結(jié)

    在日常使用SpringMVC進(jìn)行開發(fā)的時(shí)候,有可能遇到前端各種類型的請(qǐng)求參數(shù),本文主要接介紹了SpringMVC請(qǐng)求參數(shù)的使用總結(jié),感興趣的可以了解一下
    2021-06-06
  • spring-data-redis 動(dòng)態(tài)切換數(shù)據(jù)源的方法

    spring-data-redis 動(dòng)態(tài)切換數(shù)據(jù)源的方法

    最近遇到了一個(gè)麻煩的需求,我們需要一個(gè)微服務(wù)應(yīng)用同時(shí)訪問(wèn)兩個(gè)不同的 Redis 集群,一般情況下我們會(huì)怎么處理呢,下面通過(guò)場(chǎng)景分析給大家介紹spring-data-redis 動(dòng)態(tài)切換數(shù)據(jù)源的方法,感興趣的朋友一起看看吧
    2021-08-08
  • SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件

    SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件

    這篇文章主要介紹了SpringCloud Feign如何在遠(yuǎn)程調(diào)用中傳輸文件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論