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

Java實現(xiàn)RedisUtils操作五大集合(增刪改查)

 更新時間:2021年07月27日 15:43:53   作者:小目標青年  
本文主要介紹了Java實現(xiàn)RedisUtils操作五大集合,文中通過示例代碼介紹的非常詳細,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前排提示,我在這個工具類加了@Component注解,如果在springboot的項目使用,記得通過@Autowired注入使用。

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.*;
import org.springframework.stereotype.Component;
import java.io.Serializable;
import java.util.List;
import java.util.Set;
 
 
@Component
public class RedisUtils {
 
 
    @Autowired
 
    private RedisTemplate redisTemplate;
 
 
    /**
     * 寫入String型 [ 鍵,值]
     *
     * @param key
     * @param value
     * @return
     */
 
    public boolean set(final String key, Object value) {
        boolean result = false;
        try {
            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
            operations.set(key, value);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
 
    }
 
 
 
  /**
     * 寫入String型,順便帶有過期時間 [ 鍵,值]
     *
     * @param key
     * @param value
     * @return
     */
 
    public boolean setWithTime(final String key, Object value,int seconds) {
        boolean result = false;
        try {
 
            ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
            operations.set(key, value,seconds, TimeUnit.SECONDS);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
 
    }
 
 
 
    /**
     * 批量刪除對應的value
     *
     * @param keys
     */
 
    public void remove(final String... keys) {
        for (String key : keys) {
            remove(key);
        }
    }
 
    /**
     * 批量刪除key
     *
     * @param pattern
     */
 
    public void removePattern(final String pattern) {
        Set<Serializable> keys = redisTemplate.keys(pattern);
        if (keys.size() > 0)
            redisTemplate.delete(keys);
    }
 
    /**
     * 刪除對應的value
     *
     * @param key
     */
 
    public void remove(final String key) {
        if (exists(key)) {
            redisTemplate.delete(key);
        }
    }
 
 
    /**
     * 判斷緩存中是否有對應的value
     *
     * @param key
     * @return
     */
 
    public boolean exists(final String key) {
        return redisTemplate.hasKey(key);
    }
 
 
    /**
     * 讀取緩存
     *
     * @param key
     * @return
     */
 
    public Object get(final String key) {
        Object result = null;
        ValueOperations<Serializable, Object> operations = redisTemplate.opsForValue();
        result = operations.get(key);
        return result;
    }
 
 
    /**
     * 哈希 添加
     * hash 一個鍵值(key->value)對集合
     *
     * @param key
     * @param hashKey
     * @param value
     */
 
    public void hmSet(String key, Object hashKey, Object value) {
 
        HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
 
        hash.put(key, hashKey, value);
 
    }
 
 
    /**
     * Hash獲取數(shù)據(jù)
     *
     * @param key
     * @param hashKey
     * @return
     */
 
    public Object hmGet(String key, Object hashKey) {
        HashOperations<String, Object, Object> hash = redisTemplate.opsForHash();
        return hash.get(key, hashKey);
 
    }
 
 
    /**
     * 列表添加
     * list:lpush key value1
     *
     * @param k
     * @param v
     */
 
    public void lPush(String k, Object v) {
        ListOperations<String, Object> list = redisTemplate.opsForList();
        list.rightPush(k, v);
    }
 
 
    /**
     * 列表List獲取
     * lrange: key 0 10 (讀取的個數(shù) 從0開始 讀取到下標為10 的數(shù)據(jù))
     *
     * @param k
     * @param l
     * @param l1
     * @return
     */
 
    public List<Object> lRange(String k, long l, long l1) {
        ListOperations<String, Object> list = redisTemplate.opsForList();
        return list.range(k, l, l1);
    }
 
 
    /**
     * Set集合添加
     *
     * @param key
     * @param value
     */
 
    public void add(String key, Object value) {
        SetOperations<String, Object> set = redisTemplate.opsForSet();
        set.add(key, value);
    }
 
 
    /**
     * Set 集合獲取
     *
     * @param key
     * @return
     */
 
    public Set<Object> setMembers(String key) {
 
        SetOperations<String, Object> set = redisTemplate.opsForSet();
 
        return set.members(key);
 
    }
 
 
    /**
     * Sorted set :有序集合添加
     *
     * @param key
     * @param value
     * @param scoure
     */
 
    public void zAdd(String key, Object value, double scoure) {
        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
        zset.add(key, value, scoure);
    }
 
 
    /**
     * Sorted set:有序集合獲取
     *
     * @param key
     * @param scoure
     * @param scoure1
     * @return
     */
 
    public Set<Object> rangeByScore(String key, double scoure, double scoure1) {
 
        ZSetOperations<String, Object> zset = redisTemplate.opsForZSet();
 
        return zset.rangeByScore(key, scoure, scoure1);
 
    }
 
 
    /**
     * 根據(jù)key獲取Set中的所有值
     *
     * @param key 鍵
     * @return
     */
 
    public Set<Integer> sGet(String key) {
        try {
            return redisTemplate.opsForSet().members(key);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }
 
 
    /**
     * 根據(jù)value從一個set中查詢,是否存在
     *
     * @param key   鍵
     * @param value 值
     * @return true 存在 false不存在
     */
 
    public boolean sHasKey(String key, Object value) {
        try {
            return redisTemplate.opsForSet().isMember(key, value);
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
 
}

到此這篇關(guān)于Java實現(xiàn)RedisUtils操作五大集合(增刪改查)的文章就介紹到這了,更多相關(guān)Java RedisUtils操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java線程池ThreadPoolExecutor的使用及其原理詳細解讀

    Java線程池ThreadPoolExecutor的使用及其原理詳細解讀

    這篇文章主要介紹了Java線程池ThreadPoolExecutor的使用及其原理詳細解讀,線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然后在創(chuàng)建線程后自動啟動這些任務,線程池線程都是后臺線程,需要的朋友可以參考下
    2023-12-12
  • JavaCV與FFmpeg音視頻流處理技巧總結(jié)大全

    JavaCV與FFmpeg音視頻流處理技巧總結(jié)大全

    JavaCV是一個開源的Java接口,它為幾個著名的計算機視覺庫(如OpenCV、FFmpeg)提供了Java封裝,這篇文章主要給大家介紹了關(guān)于JavaCV與FFmpeg音視頻流處理技巧總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 淺談Java包裝類型Long的==操作引發(fā)的低級bug

    淺談Java包裝類型Long的==操作引發(fā)的低級bug

    本文主要介紹了淺談Java包裝類型Long的==操作引發(fā)的低級bug,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • @RequestBody注解的原理及使用技巧分享

    @RequestBody注解的原理及使用技巧分享

    這篇文章主要介紹了@RequestBody注解的原理及使用技巧分享,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 淺談Servlet開發(fā)技術(shù)基礎

    淺談Servlet開發(fā)技術(shù)基礎

    這篇文章主要介紹了淺談Servlet開發(fā)技術(shù)基礎,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • SpringBoot加密配置文件的SQL賬號密碼方式

    SpringBoot加密配置文件的SQL賬號密碼方式

    這篇文章主要介紹了SpringBoot加密配置文件的SQL賬號密碼方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java中stream是什么及如何使用

    Java中stream是什么及如何使用

    在Java中,Stream(流)是一種用于操作集合(Collection)、數(shù)組等數(shù)據(jù)源的API,Stream的主要作用是進行數(shù)據(jù)的轉(zhuǎn)換、篩選、聚合等操作,可以極大地簡化對數(shù)據(jù)的處理,本文給大家介紹Java中stream是什么?有什么作用?如何使用?感興趣的朋友一起看看吧
    2023-10-10
  • java中的前++和后++的區(qū)別示例代碼詳解

    java中的前++和后++的區(qū)別示例代碼詳解

    這篇文章主要介紹了java中的前++和后++的區(qū)別示例代碼詳解,其實大家只要記住一句話就可以了,前++是先自加再使用而后++是先使用再自加,本文通過代碼給大家詳細解說,感興趣的朋友跟隨小編一起看看吧
    2020-06-06
  • springmvc處理模型數(shù)據(jù)Map過程解析

    springmvc處理模型數(shù)據(jù)Map過程解析

    這篇文章主要介紹了springmvc處理模型數(shù)據(jù)Map過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-01-01
  • Java中對象的深復制(深克?。┖蜏\復制(淺克?。┙榻B

    Java中對象的深復制(深克?。┖蜏\復制(淺克?。┙榻B

    這篇文章主要介紹了Java中對象的深復制(深克隆)和淺復制(淺克?。?,需要的朋友可以參考下
    2015-03-03

最新評論

黄冈市| 湾仔区| 峨眉山市| 临湘市| 庆阳市| 靖西县| 汨罗市| 深水埗区| 扶绥县| 宜黄县| 突泉县| 无为县| 布拖县| 弋阳县| 容城县| 广宗县| 周口市| 西平县| 神池县| 镇江市| 彭州市| 常州市| 泰兴市| 潮州市| 潼南县| 榆中县| 舞钢市| 沙河市| 北票市| 德钦县| 乐亭县| 定日县| 望奎县| 周宁县| 理塘县| 清新县| 福贡县| 永胜县| 博湖县| 盐亭县| 宿州市|