国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Redis - 在redisCluster中模糊獲取key方式

在redisCluster中模糊獲取key方式

2021-08-16 18:00夜-NULL(zmc) Redis

這篇文章主要介紹了在redisCluster中模糊獲取key方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

在一個集群中,顯然不能通過keys方法通過pattern直接獲取key的集合;

鑒于這種問題,產(chǎn)生了兩種思路,如下:

方案1:

已知相同的tag的kv會在一個節(jié)點(diǎn)上,所以只要key帶有相同的hashtag,則會在一個節(jié)點(diǎn)上,所以只要掃描該節(jié)點(diǎn)即可,這樣就將集群轉(zhuǎn)化為了單點(diǎn)。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@requestmapping(value = "/ceshi", method = requestmethod.get)
    @responsebody
    public void rediskeys() {
        /**
         * 模糊匹配
         * @param pattern key的正則表達(dá)式
         * @param count 每次掃描多少條記錄,值越大消耗的時間越短,但會影響redis性能。建議設(shè)為一千到一萬
         * @return 匹配的key集合
         */
        try{
            jediscluster.getclusternodes();
            scanparams scanparams = new scanparams();
            scanparams.match("{operatingsystem}*");
            scanparams.count(1000);
            scanresult<string> result = jediscluster.scan("0", scanparams);
            list<string> keylist = result.getresult();
            system.out.println("keylist======="+keylist);
        }finally{
        }
    }
?
1
2
//scanparams.match("*{zmc}*");//success
//scanparams.match("zmc_text:{zmc}*");//success

上述match方法中:括號中的參數(shù)也可以按照如上方式編寫;

其關(guān)鍵在于 key 上傳到redis中,命名方式里面,必須含有 {};

并且{}前面、后面有無參數(shù)必須指定;若key為 zmc_text: {zmc}:1

?
1
scanparams.match("{zmc}*");查不出結(jié)果

方案2:

獲取所有的節(jié)點(diǎn),分別掃描每個節(jié)點(diǎn),根據(jù)pattern獲取節(jié)點(diǎn)中的key,整合起來即可;

注意:cluster模式執(zhí)行多key操作的時候,這些key必須在同一個slot上,不然會報(bào)jedisdataexception異常;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
@requestmapping(value = "/ceshi3", method = requestmethod.get)
@responsebody
public void rediskeys() {
    string rediskeystartwith="ad:ads:id:";
    try {
        map<string, jedispool> clusternodes = jediscluster.getclusternodes();
        for (map.entry<string, jedispool> entry : clusternodes.entryset()) {
            jedis jedis = entry.getvalue().getresource();
            // 判斷非從節(jié)點(diǎn)(因?yàn)槿糁鲝膹?fù)制,從節(jié)點(diǎn)會跟隨主節(jié)點(diǎn)的變化而變化)
            if (!jedis.info("replication").contains("role:slave")) {
                set<string> keys = jedis.keys(rediskeystartwith + "*");
                if (keys.size() > 0) {
                    map<integer, list<string>> map = new hashmap<>();
                    for (string key : keys) {
                        // cluster模式執(zhí)行多key操作的時候,這些key必須在同一個slot上,不然會報(bào):jedisdataexception:
                        // crossslot keys in request don't hash to the same slot
                        int slot = jedisclustercrc16.getslot(key);
                        // 按slot將key分組,相同slot的key一起提交
                        if (map.containskey(slot)) {
                            map.get(slot).add(key);
                        } else {
                            map.put(slot, lists.newarraylist(key));
                        }
                    }
                    for (map.entry<integer, list<string>> integerlistentry : map.entryset()) {
                        system.out.println("integerlistentry="+integerlistentry);
                        //jedis.del(integerlistentry.getvalue().toarray(new string[integerlistentry.getvalue().size()]));
                    }
                }
            }
        }
        logger.info("success rediskeys:{}", rediskeystartwith);
    } finally {
    }
}

redis集群獲取所有的key

redis單機(jī)查詢所有key命令

keys *

查詢結(jié)果示例:

在redisCluster中模糊獲取key方式

redis集群查所有key命令:

如果使用keys *,那么查詢的仍舊是本服務(wù)器的所有key,不是集群的(結(jié)合本圖結(jié)果以及參考上圖,都是插入后查詢,無心插入或者刪除key)

正確的命令是

./redis-cli -c --cluster call 192.168.168.161:7001 keys \*

注意:

1.不能去掉\;

2.換成你redis集群的一個節(jié)點(diǎn)的ip和端口

3.如果集群有密碼加上參數(shù) -a password(你的redis集群密碼) 如本地測試環(huán)境查詢結(jié)果:

在redisCluster中模糊獲取key方式

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qq_33999844/article/details/81381607

延伸 · 閱讀

精彩推薦
  • Redis詳解Redis復(fù)制原理

    詳解Redis復(fù)制原理

    與大多數(shù)db一樣,Redis也提供了復(fù)制機(jī)制,以滿足故障恢復(fù)和負(fù)載均衡等需求。復(fù)制也是Redis高可用的基礎(chǔ),哨兵和集群都是建立在復(fù)制基礎(chǔ)上實(shí)現(xiàn)高可用的...

    李留廣10222021-08-09
  • RedisRedis 事務(wù)知識點(diǎn)相關(guān)總結(jié)

    Redis 事務(wù)知識點(diǎn)相關(guān)總結(jié)

    這篇文章主要介紹了Redis 事務(wù)相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用Redis,感興趣的朋友可以了解下...

    AsiaYe8232021-07-28
  • RedisRedis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離詳解

    Redis的主從架構(gòu),能幫助我們實(shí)現(xiàn)讀多,寫少的情況,下面這篇文章主要給大家介紹了關(guān)于Redis如何實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的相關(guān)資料,文中通過示例代碼介紹...

    羅兵漂流記6092019-11-11
  • RedisRedis的配置、啟動、操作和關(guān)閉方法

    Redis的配置、啟動、操作和關(guān)閉方法

    今天小編就為大家分享一篇Redis的配置、啟動、操作和關(guān)閉方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧 ...

    大道化簡5312019-11-14
  • RedisRedis全量復(fù)制與部分復(fù)制示例詳解

    Redis全量復(fù)制與部分復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Redis全量復(fù)制與部分復(fù)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Redis爬蟲具有一定的參考學(xué)習(xí)...

    豆子先生5052019-11-27
  • Redisredis實(shí)現(xiàn)排行榜功能

    redis實(shí)現(xiàn)排行榜功能

    排行榜在很多地方都能使用到,redis的zset可以很方便地用來實(shí)現(xiàn)排行榜功能,本文就來簡單的介紹一下如何使用,具有一定的參考價值,感興趣的小伙伴們...

    乘月歸5022021-08-05
  • Redisredis 交集、并集、差集的具體使用

    redis 交集、并集、差集的具體使用

    這篇文章主要介紹了redis 交集、并集、差集的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友...

    xiaojin21cen10152021-07-27
  • Redisredis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    redis中如何使用lua腳本讓你的靈活性提高5個逼格詳解

    這篇文章主要給大家介紹了關(guān)于redis中如何使用lua腳本讓你的靈活性提高5個逼格的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具...

    一線碼農(nóng)5812019-11-18
主站蜘蛛池模板: 国产精品久久久久久久久久久天堂 | 日本一区二区不卡 | 国产在线观看91一区二区三区 | 蜜臀久久精品99国产精品日本 | 国产精品一区二区av | 亚洲视频在线免费观看 | 久久久久久久国产精品 | 北条麻妃99| 喷水av | 国产精品一区二区三区在线播放 | 国产在线一区二区三区 | 亚洲一区二区三区久久久 | 国产老头老太作爱视频 | 中文字幕1区2区3区 亚洲欧美日韩精品久久亚洲区 | 日韩在线一区二区三区 | 亚洲精品永久免费 | 国产在线视频一区二区 | 国产精品免费精品自在线观看 | 欧美污污 | www.久久视频 | 久草视频在线播放 | 精精国产xxxx视频在线播放 | 日韩精品视频一区二区三区 | 国产日韩欧美在线观看 | 国产欧美一区二区精品性色 | 在线中文字幕第一页 | 欧美极品一区二区 | 欧美日韩久久精品 | 欧美精品欧美极品欧美激情 | 午夜黄色影院 | 亚洲视频在线一区 | 色狠狠综合天天综合综合 | 免费污视频在线 | 精品国产凹凸成av人导航 | 久久久免费网站 | 欧洲一区二区三区 | 亚洲欧洲免费视频 | 欧美透逼| 国产精品一区av | 成年黄色在线观看 | 午夜精品福利在线观看 |