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

使用redisTemplate從redis獲取所有數(shù)據(jù)

 更新時(shí)間:2022年06月07日 08:56:12   作者:qq_48012160  
這篇文章主要介紹了使用redisTemplate從redis獲取所有數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

redisTemplate從redis獲取所有數(shù)據(jù)

	@Autowired
    private RedisTemplate<String,String> redisTemplate;

    @ApiOperation("StationCharger")
    @GetMapping("/StationCharger")
    public AjaxResult init() {
//        redisTemplate.delete("*");
        //獲取所有的key
        Set<String> keys = redisTemplate.keys("GEELY:HC1Y:station:*");
//        System.out.println(keys);
        //創(chuàng)建集合
        HashMap<Object, Object> map = new HashMap<>();
        //循環(huán)
        for (String key : keys){
            //獲取key對(duì)應(yīng)的value
            Object value = redisTemplate.opsForValue().get(key);
            map.put(key,value);
            System.out.println(key);
            System.out.println(value);
        }
        return AjaxResult.success(map);
    }

idea后端效果

swagger測(cè)試效果

說(shuō)說(shuō)RedisTemplate的常用方法

  • 1.RedisTemplate常用方法
  • 2.String類型
  • 3.Hash類型
  • 4.List類型
  • 5.Set類型
  • 6.zSet類型

Redis常用的數(shù)據(jù)類型:String、Hash、List、Set、zSet

1.RedisTemplate常用方法

redisTemplate.hasKey(key);				//判斷是否有key所對(duì)應(yīng)的值,有則返回true,沒(méi)有則返回false
redisTemplate.opsForValue().get(key);	//有則取出key值所對(duì)應(yīng)的值
redisTemplate.delete(key);				//刪除單個(gè)key值
redisTemplate.delete(keys); 			//其中keys:Collection<K> keys
redisTemplate.dump(key);				//將當(dāng)前傳入的key值序列化為byte[]類型
redisTemplate.expire(key, timeout, unit);	//設(shè)置過(guò)期時(shí)間
redisTemplate.expireAt(key, date);		//設(shè)置過(guò)期時(shí)間
redisTemplate.keys(pattern);			//查找匹配的key值,返回一個(gè)Set集合類型
redisTemplate.rename(oldKey, newKey);	//返回傳入key所存儲(chǔ)的值的類型
redisTemplate.renameIfAbsent(oldKey, newKey);	//如果舊值存在時(shí),將舊值改為新值
redisTemplate.randomKey();				//從redis中隨機(jī)取出一個(gè)key
redisTemplate.getExpire(key);			//返回當(dāng)前key所對(duì)應(yīng)的剩余過(guò)期時(shí)間
redisTemplate.getExpire(key, unit);		//返回剩余過(guò)期時(shí)間并且指定時(shí)間單位
redisTemplate.persist(key);				//將key持久化保存
redisTemplate.move(key, dbIndex);		//將當(dāng)前數(shù)據(jù)庫(kù)的key移動(dòng)到指定redis中數(shù)據(jù)庫(kù)當(dāng)中

2.String類型

ValueOperations opsForValue = redisTemplate.opsForValue();
opsForValue.set(key, value);?? ?//設(shè)置當(dāng)前的key以及value值
opsForValue.set(key, value, offset);//用 value 參數(shù)覆寫給定 key 所儲(chǔ)存的字符串值,從偏移量 offset 開(kāi)始
opsForValue.set(key, value, timeout, unit);?? ? //設(shè)置當(dāng)前的key以及value值并且設(shè)置過(guò)期時(shí)間
opsForValue.setBit(key, offset, value);?? ?//將二進(jìn)制第offset位值變?yōu)関alue
opsForValue.setIfAbsent(key, value);//重新設(shè)置key對(duì)應(yīng)的值,如果存在返回false,否則返回true
opsForValue.get(key, start, end);?? ?//返回key中字符串的子字符
opsForValue.getAndSet(key, value);?? ?//將舊的key設(shè)置為value,并且返回舊的key
opsForValue.multiGet(keys);?? ??? ??? ?//批量獲取值
opsForValue.size(key);?? ??? ??? ??? ?//獲取字符串的長(zhǎng)度
opsForValue.append(key, value);?? ?//在原有的值基礎(chǔ)上新增字符串到末尾
opsForValue.increment(key,double increment);//以增量的方式將double值存儲(chǔ)在變量中
opsForValue.increment(key,long ?increment);?? ?//通過(guò)increment(K key, long delta)方法以增量方式存儲(chǔ)long值(正值則自增,負(fù)值則自減)
?
Map valueMap = new HashMap(); ?
valueMap.put("valueMap1","map1"); ?
valueMap.put("valueMap2","map2"); ?
valueMap.put("valueMap3","map3"); ?
opsForValue.multiSetIfAbsent(valueMap); ?? ?//如果對(duì)應(yīng)的map集合名稱不存在,則添加否則不做修改
opsForValue.multiSet(valueMap);?? ??? ??? ??? ?//設(shè)置map集合到redis

3.Hash類型

HashOperations opsForHash = redisTemplate.opsForHash();
opsForHash.get(key, field);?? ?//獲取變量中的指定map鍵是否有值,如果存在該map鍵則獲取值,沒(méi)有則返回null
opsForHash.entries(key);?? ?//獲取變量中的鍵值對(duì)
opsForHash.put(key, hashKey, value);?? ?//新增hashMap值
opsForHash.putAll(key, maps);?? ?//以map集合的形式添加鍵值對(duì)
opsForHash.putIfAbsent(key, hashKey, value);?? ?//僅當(dāng)hashKey不存在時(shí)才設(shè)置
opsForHash.delete(key, fields);?? ?//刪除一個(gè)或者多個(gè)hash表字段
opsForHash.hasKey(key, field);?? ?//查看hash表中指定字段是否存在
opsForHash.increment(key, field, long increment);?? ?//給哈希表key中的指定字段的整數(shù)值加上增量increment
opsForHash.increment(key, field, double increment);?? ?//給哈希表key中的指定字段的整數(shù)值加上增量increment
opsForHash.keys(key);?? ??? ??? ??? ?//獲取所有hash表中字段
opsForHash.values(key);?? ??? ??? ??? ?//獲取hash表中存在的所有的值
opsForHash.scan(key, options);?? ??? ?//匹配獲取鍵值對(duì),ScanOptions.NONE為獲取全部鍵對(duì)

4.List類型

ListOperations opsForList = redisTemplate.opsForList();
opsForList.index(key, index);?? ?//通過(guò)索引獲取列表中的元素
opsForList.range(key, start, end);?? ?//獲取列表指定范圍內(nèi)的元素(start開(kāi)始位置, 0是開(kāi)始位置,end 結(jié)束位置, -1返回所有)
opsForList.leftPush(key, value);?? ?//存儲(chǔ)在list的頭部,即添加一個(gè)就把它放在最前面的索引處
opsForList.leftPush(key, pivot, value);?? ??? ?//如果pivot處值存在則在pivot前面添加
opsForList.leftPushAll(key, value);?? ??? ?//把多個(gè)值存入List中(value可以是多個(gè)值,也可以是一個(gè)Collection value)
opsForList.leftPushIfPresent(key, value);?? ?//List存在的時(shí)候再加入
opsForList.rightPush(key, value);?? ?//按照先進(jìn)先出的順序來(lái)添加(value可以是多個(gè)值,或者是Collection var2)
opsForList.rightPushAll(key, value);?? ?//在pivot元素的右邊添加值
opsForList.set(key, index, value);?? ??? ?//設(shè)置指定索引處元素的值
opsForList.trim(key, start, end);?? ??? ?//將List列表進(jìn)行剪裁
opsForList.size(key);?? ?//獲取當(dāng)前key的List列表長(zhǎng)度
?
//移除并獲取列表中第一個(gè)元素(如果列表沒(méi)有元素會(huì)阻塞列表直到等待超時(shí)或發(fā)現(xiàn)可彈出元素為止)
opsForList.leftPop(key);?? ??? ??? ??? ?
opsForList.leftPop(key, timeout, unit);?? ?
?
//移除并獲取列表最后一個(gè)元素
opsForList.rightPop(key);
opsForList.rightPop(key, timeout, unit);?? ?
?
//從一個(gè)隊(duì)列的右邊彈出一個(gè)元素并將這個(gè)元素放入另一個(gè)指定隊(duì)列的最左邊
opsForList.rightPopAndLeftPush(sourceKey, destinationKey);?? ?
opsForList.rightPopAndLeftPush(sourceKey, destinationKey, timeout, unit);
?
//刪除集合中值等于value的元素(index=0, 刪除所有值等于value的元素; index>0, 從頭部開(kāi)始刪除第一個(gè)值等于value的元素; index<0, 從尾部開(kāi)始刪除第一個(gè)值等于value的元素)
opsForList.remove(key, index, value);

5.Set類型

SetOperations opsForSet = redisTemplate.opsForSet();
opsForSet.add(key, values);?? ??? ??? ?//添加元素
opsForSet.remove(key, values);?? ??? ?//移除元素(單個(gè)值、多個(gè)值)
opsForSet.pop(key);?? ??? ??? ??? ??? ?//刪除并且返回一個(gè)隨機(jī)的元素
opsForSet.size(key);?? ??? ??? ??? ?//獲取集合的大小
opsForSet.isMember(key, value);?? ??? ?//判斷集合是否包含value
opsForSet.intersect(key, otherKey);?? ?//獲取兩個(gè)集合的交集(key對(duì)應(yīng)的無(wú)序集合與otherKey對(duì)應(yīng)的無(wú)序集合求交集)
opsForSet.intersect(key, otherKeys);//獲取多個(gè)集合的交集(Collection var2)
opsForSet.intersectAndStore(key, otherKey, destKey);?? ?//key集合與otherKey集合的交集存儲(chǔ)到destKey集合中(其中otherKey可以為單個(gè)值或者集合)
opsForSet.intersectAndStore(key, otherKeys, destKey);?? ?//key集合與多個(gè)集合的交集存儲(chǔ)到destKey無(wú)序集合中
opsForSet.union(key, otherKeys);?? ?//獲取兩個(gè)或者多個(gè)集合的并集(otherKeys可以為單個(gè)值或者是集合)
opsForSet.unionAndStore(key, otherKey, destKey);?? ?//key集合與otherKey集合的并集存儲(chǔ)到destKey中(otherKeys可以為單個(gè)值或者是集合)
opsForSet.difference(key, otherKeys);?? ?//獲取兩個(gè)或者多個(gè)集合的差集(otherKeys可以為單個(gè)值或者是集合)
opsForSet.differenceAndStore(key, otherKey, destKey);?? ?//差集存儲(chǔ)到destKey中(otherKeys可以為單個(gè)值或者集合)
opsForSet.randomMember(key);?? ?//隨機(jī)獲取集合中的一個(gè)元素
opsForSet.members(key);?? ??? ??? ?//獲取集合中的所有元素
opsForSet.randomMembers(key, count);?? ?//隨機(jī)獲取集合中count個(gè)元素
opsForSet.distinctRandomMembers(key, count);?? ?//獲取多個(gè)key無(wú)序集合中的元素(去重),count表示個(gè)數(shù)
opsForSet.scan(key, options);?? ?//遍歷set類似于Interator(ScanOptions.NONE為顯示所有的)

6.zSet類型

ZSetOperations提供了一系列方法對(duì)有序集合進(jìn)行操作

ZSetOperations opsForZSet = redisTemplate.opsForZSet();
opsForZSet.add(key, value, score);?? ??? ??? ??? ?//添加元素(有序集合是按照元素的score值由小到大進(jìn)行排列)
opsForZSet.remove(key, values);?? ??? ??? ??? ??? ?//刪除對(duì)應(yīng)的value,value可以為多個(gè)值
opsForZSet.incrementScore(key, value, delta);?? ?//增加元素的score值,并返回增加后的值
opsForZSet.rank(key, value);?? ??? ??? ??? ??? ?//返回元素在集合的排名,有序集合是按照元素的score值由小到大排列
opsForZSet.reverseRank(key, value);?? ??? ??? ??? ?//返回元素在集合的排名,按元素的score值由大到小排列
opsForZSet.reverseRangeWithScores(key, start,end);?? ?//獲取集合中給定區(qū)間的元素(start 開(kāi)始位置,end 結(jié)束位置, -1查詢所有)
opsForZSet.reverseRangeByScore(key, min, max);?? ?//按照Score值查詢集合中的元素,結(jié)果從小到大排序
opsForZSet.reverseRangeByScoreWithScores(key, min, max);?? ?//返回值為:Set<ZSetOperations.TypedTuple<V>>
opsForZSet.count(key, min, max);?? ??? ??? ??? ?//根據(jù)score值獲取集合元素?cái)?shù)量
opsForZSet.size(key);?? ??? ??? ??? ??? ??? ??? ?//獲取集合的大小
opsForZSet.zCard(key);?? ??? ??? ??? ??? ??? ??? ?//獲取集合的大小
opsForZSet.score(key, value);?? ??? ??? ??? ??? ?//獲取集合中key、value元素對(duì)應(yīng)的score值
opsForZSet.removeRange(key, start, end);?? ??? ?//移除指定索引位置處的成員
opsForZSet.removeRangeByScore(key, min, max);?? ?//移除指定score范圍的集合成員
opsForZSet.unionAndStore(key, otherKey, destKey);//獲取key和otherKey的并集并存儲(chǔ)在destKey中(其中otherKeys可以為單個(gè)字符串或者字符串集合)
opsForZSet.intersectAndStore(key, otherKey, destKey);?? ?//獲取key和otherKey的交集并存儲(chǔ)在destKey中(其中otherKeys可以為單個(gè)字符串或者字符串集合)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java lambda循環(huán)_使用Java 8 Lambda簡(jiǎn)化嵌套循環(huán)操作

    java lambda循環(huán)_使用Java 8 Lambda簡(jiǎn)化嵌套循環(huán)操作

    這篇文章主要介紹了java lambda循環(huán)_使用Java 8 Lambda簡(jiǎn)化嵌套循環(huán)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-09-09
  • 如何利用Jackson序列化忽略指定類型的屬性詳解

    如何利用Jackson序列化忽略指定類型的屬性詳解

    這篇文章主要給大家介紹了關(guān)于如何利用Jackson序列化忽略指定類型的屬性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-11-11
  • 關(guān)于Java限流功能的簡(jiǎn)單實(shí)現(xiàn)

    關(guān)于Java限流功能的簡(jiǎn)單實(shí)現(xiàn)

    這篇文章主要介紹了關(guān)于Java限流功能的簡(jiǎn)單實(shí)現(xiàn),在Java中,限流是一種常見(jiàn)的技術(shù)手段,用于控制系統(tǒng)的訪問(wèn)速率,以保護(hù)系統(tǒng)免受過(guò)載和濫用,需要的朋友可以參考下
    2023-07-07
  • springboot 之jpa高級(jí)查詢操作

    springboot 之jpa高級(jí)查詢操作

    這篇文章主要介紹了springboot 之jpa高級(jí)查詢操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Java基礎(chǔ)教程之類數(shù)據(jù)與類方法

    Java基礎(chǔ)教程之類數(shù)據(jù)與類方法

    這篇文章主要介紹了Java基礎(chǔ)教程之類數(shù)據(jù)與類方法,本文是對(duì)類的深入探討,類數(shù)據(jù)指類的一些屬性、參數(shù)等,類方法就是類包含的功能方法,需要的朋友可以參考下
    2014-08-08
  • Java JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)(Run-Time Data Areas)

    Java JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)(Run-Time Data Areas)

    運(yùn)行時(shí)數(shù)據(jù)區(qū),是java虛擬機(jī)定義的在程序執(zhí)行期間使用的各種運(yùn)行時(shí)的數(shù)據(jù)區(qū),通過(guò)JVM運(yùn)行時(shí)數(shù)據(jù)區(qū)圖例給大家展示的很詳細(xì),對(duì)JVM 運(yùn)行時(shí)數(shù)據(jù)區(qū)相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • Spring Boot 利用WebUploader進(jìn)行文件上傳功能

    Spring Boot 利用WebUploader進(jìn)行文件上傳功能

    本文的重點(diǎn)是給大家介紹在Spring Boot項(xiàng)目中利用WebUploader如何進(jìn)行文件上傳,本文通過(guò)示例代碼給大家介紹,需要的朋友參考下吧
    2018-03-03
  • 解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法

    下面小編就為大家?guī)?lái)一篇解決Maven 項(xiàng)目報(bào)錯(cuò) java.httpservlet和synchronized使用方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-07-07
  • SpringCloud使用集中配置組件Config規(guī)避信息泄露

    SpringCloud使用集中配置組件Config規(guī)避信息泄露

    項(xiàng)目應(yīng)用中,數(shù)據(jù)庫(kù)連接信息、Access-key、Secret-key等由于其及其敏感和特殊性,一旦泄露出去就很可能會(huì)使得應(yīng)用遭到黑客攻擊,例如數(shù)據(jù)庫(kù)賬號(hào)密碼泄露可能導(dǎo)致“拖庫(kù)”,甚至數(shù)據(jù)丟失。此等事件偶有發(fā)生,那么,在分布式微服務(wù)項(xiàng)目中,怎么避免這種情況呢
    2022-07-07
  • Java Comparable及Comparator接口區(qū)別詳解

    Java Comparable及Comparator接口區(qū)別詳解

    這篇文章主要介紹了Java Comparable及Comparator接口區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論