日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Redis和springboot整合redisUtil類的示例代碼

SpringBoot整合Redis:自定義RedisUtil工具類實(shí)現(xiàn)數(shù)據(jù)操作

成都創(chuàng)新互聯(lián)憑借在網(wǎng)站建設(shè)、網(wǎng)站推廣領(lǐng)域領(lǐng)先的技術(shù)能力和多年的行業(yè)經(jīng)驗(yàn),為客戶提供超值的營銷型網(wǎng)站建設(shè)服務(wù),我們始終認(rèn)為:好的營銷型網(wǎng)站就是好的業(yè)務(wù)員。我們已成功為企業(yè)單位、個(gè)人等客戶提供了成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)服務(wù),以良好的商業(yè)信譽(yù),完善的服務(wù)及深厚的技術(shù)力量處于同行領(lǐng)先地位。

在SpringBoot項(xiàng)目中,整合Redis是一個(gè)常見的操作,通過SpringBoot提供的spring-boot-starter-data-redis依賴,我們可以很方便地操作Redis數(shù)據(jù)庫,在實(shí)際開發(fā)過程中,我們通常會(huì)遇到一些復(fù)雜的業(yè)務(wù)場景,需要自定義一些Redis操作方法,本文將介紹如何創(chuàng)建一個(gè)RedisUtil工具類,以便在項(xiàng)目中更便捷地使用Redis。

整合Redis

1、添加依賴

在項(xiàng)目的pom.xml文件中添加spring-boot-starter-data-redis依賴:


    org.springframework.boot
    spring-boot-starter-data-redis

2、配置Redis

application.propertiesapplication.yml文件中配置Redis服務(wù)器的相關(guān)信息:

Redis服務(wù)器地址
spring.redis.host=localhost
Redis服務(wù)器端口
spring.redis.port=6379
Redis密碼(默認(rèn)為空)
#spring.redis.password=root
連接超時(shí)時(shí)間(毫秒)
spring.redis.timeout=60000
Redis默認(rèn)情況下有16個(gè)分片,這里配置具體使用的分片,默認(rèn)是0
spring.redis.database=0

3、注入RedisTemplate

在項(xiàng)目中,我們可以通過注入RedisTemplate對象來操作Redis數(shù)據(jù)庫:

@Autowired
private RedisTemplate redisTemplate;

RedisUtil工具類

下面我們創(chuàng)建一個(gè)RedisUtil工具類,封裝一些常用的Redis操作方法。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
import java.util.Set;
@Component
public class RedisUtil {
    @Autowired
    private RedisTemplate redisTemplate;
    // String類型操作
    public void set(String key, Object value) {
        redisTemplate.opsForValue().set(key, value);
    }
    public Object get(String key) {
        return redisTemplate.opsForValue().get(key);
    }
    public void delete(String key) {
        redisTemplate.delete(key);
    }
    // List類型操作
    public void leftPush(String key, Object value) {
        redisTemplate.opsForList().leftPush(key, value);
    }
    public Object leftPop(String key) {
        return redisTemplate.opsForList().leftPop(key);
    }
    public List range(String key, long start, long end) {
        return redisTemplate.opsForList().range(key, start, end);
    }
    // Set類型操作
    public void add(String key, Object... values) {
        redisTemplate.opsForSet().add(key, values);
    }
    public Set members(String key) {
        return redisTemplate.opsForSet().members(key);
    }
    // Hash類型操作
    public void put(String key, String hashKey, Object value) {
        redisTemplate.opsForHash().put(key, hashKey, value);
    }
    public Object getHashValue(String key, String hashKey) {
        return redisTemplate.opsForHash().get(key, hashKey);
    }
    public Map entries(String key) {
        return redisTemplate.opsForHash().entries(key);
    }
    // ZSet類型操作
    public void add(String key, Object value, double score) {
        redisTemplate.opsForZSet().add(key, value, score);
    }
    public Set rangeByScore(String key, double min, double max) {
        return redisTemplate.opsForZSet().rangeByScore(key, min, max);
    }
}

使用RedisUtil工具類

在項(xiàng)目中,我們可以直接注入RedisUtil工具類,然后調(diào)用其方法進(jìn)行Redis操作:

@Autowired
private RedisUtil redisUtil;
public void testRedis() {
    // 設(shè)置String類型
    redisUtil.set("name", "張三");
    // 獲取String類型
    String name = (String) redisUtil.get("name");
    System.out.println("name: " + name);
    // 刪除key
    redisUtil.delete("name");
    // List類型操作
    redisUtil.leftPush("list", "a");
    redisUtil.leftPush("list", "b");
    redisUtil.leftPush("list", "c");
    List list = redisUtil.range("list", 0, -1);
    System.out.println("list: " + list);
    // Set類型操作
    redisUtil.add("set", "a", "b", "c");
    Set set = redisUtil.members("set");
    System.out.println("set: " + set);
    // Hash類型操作
    redisUtil.put("hash", "name", "張三");
    redisUtil.put("hash", "age", 18);
    String hashName = (String) redisUtil.getHashValue("hash", "name");
    System.out.println("hashName: " + hashName);
    Map hash = redisUtil.entries("hash");
    System.out.println("hash: " + hash);
    // ZSet類型操作
    redisUtil.add("zset", "a", 1);
    redisUtil.add("zset", "b", 2);
    redisUtil.add("zset", "c", 3);
    Set zset = redisUtil.rangeByScore("zset", 0, 2);
    System.out.println("zset: " + zset);
}

通過自定義RedisUtil工具類,我們可以更方便地在SpringBoot項(xiàng)目中操作Redis數(shù)據(jù)庫,在實(shí)際開發(fā)過程中,我們可以根據(jù)業(yè)務(wù)需求,擴(kuò)展RedisUtil工具類,封裝更多實(shí)用的方法,提高開發(fā)效率,使用RedisUtil工具類還可以統(tǒng)一Redis操作,便于維護(hù)和優(yōu)化。


分享題目:Redis和springboot整合redisUtil類的示例代碼
分享路徑:http://m.5511xx.com/article/djhjpoi.html