亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot中使用Redis的完整實例

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

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

1.導包

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

2.導入工具類

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;
 /** 默認過期時長,單位:秒 */
 public final static long DEFAULT_EXPIRE = 60 * 60 * 24;
 /** 不設置過期時長 */
 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的服務器

(1).yml配置文件中

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

(2).properties配置文件中

#### 連接redis非關系型數(shù)據(jù)庫配置
spring.redis.host=redis服務器地址
spring.redis.password=redis服務器密碼,默認為空
spring.redis.port=redis服務器端口號
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ù)對應的key取到對應的值
 * @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ù)時,設置的key,根據(jù)可以取到對應的數(shù)據(jù)
 * @return
 */ 
 public String get(String key) {
 return get(key, NOT_EXPIRE);
 }

3.還有個刪除

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

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

相關文章

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

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

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

    java定時任務的實現(xiàn)方式

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

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

    使用IDEA進行Maven項目開發(fā)時,時不時會遇到pom.xml報錯的情況,其中很大概率是因為Maven依賴的jar包下載失敗,找來找去也沒有找到是什么問題,困擾了很多程序猿,這里給出IDEA中Maven依賴下載失敗解決方案,給大家參考,實測有用
    2020-04-04
  • springboot實現(xiàn)登錄功能的完整步驟

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

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

    JAVA項目常用異常處理匯總

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

    SpringAOP中的Advisor詳解

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

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

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

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

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

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

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

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

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

最新評論