溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

redis中的opsForList().range()如何使用

發(fā)布時(shí)間:2023-03-15 11:12:32 來(lái)源:億速云 閱讀:122 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇“redis中的opsForList().range()如何使用”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“redis中的opsForList().range()如何使用”文章吧。

結(jié)論(具體測(cè)試數(shù)據(jù)請(qǐng)往下看)

1、start—end總體保持著順序就沒(méi)問(wèn)題

2、按照順序,即便start < -N或者end > N-1也能查詢(xún)出數(shù)據(jù)

3、特殊用法:通過(guò)stringRedisTemplate.opsForList().range(key, 0, -1)可以查詢(xún)索引第一個(gè)到索引倒數(shù)第一個(gè)(即所有數(shù)據(jù))

1、環(huán)境 redis

redis中的opsForList().range()如何使用

2、測(cè)試代碼:

  @Resource
    private StringRedisTemplate stringRedisTemplate;

    @Test
    void testRedis() {
        String key = "testList";
        String[] data = new String[]{"1_1", "1-2", "2_1", "2_2"};
        Boolean flag = stringRedisTemplate.hasKey(key);
        if (!flag) {
            stringRedisTemplate.opsForList().leftPushAll(key, data);
        }
        List<String> range = stringRedisTemplate.opsForList().range(key, -100, -1);
        System.out.println("range = " + range);
    }

3、測(cè)試數(shù)據(jù)(假設(shè)List長(zhǎng)度為N)

redis中的opsForList().range()如何使用

4、測(cè)試從索引倒數(shù)開(kāi)始

4.1、stringRedisTemplate.opsForList().range(key, -4, -1)

從結(jié)果看:從索引倒數(shù)第4個(gè)&mdash;&mdash;索引倒數(shù)第1個(gè)

redis中的opsForList().range()如何使用

4.2、stringRedisTemplate.opsForList().range(key, -3, -1)

從結(jié)果看:從索引倒數(shù)第3個(gè)&mdash;&mdash;索引倒數(shù)第1個(gè)

redis中的opsForList().range()如何使用

4.3、stringRedisTemplate.opsForList().range(key, -3, -2)

從結(jié)果看:從索引倒數(shù)第3個(gè)&mdash;&mdash;索引倒數(shù)第2個(gè)

redis中的opsForList().range()如何使用

4.4、stringRedisTemplate.opsForList().range(key, -2, -3)

從結(jié)果看:從索引倒數(shù)第2個(gè)&mdash;&mdash;索引倒數(shù)第3個(gè)不行,從索引倒數(shù)第3個(gè)&mdash;&mdash;索引倒數(shù)第2個(gè)可以。

結(jié)論:從索引倒數(shù)第N個(gè)開(kāi)始,要按照順序(即 -N、-(N-1)、-(N-2)、&hellip;&hellip;、-1),逆序是不行的

redis中的opsForList().range()如何使用

5、測(cè)試從索引正數(shù)開(kāi)始

5.1、stringRedisTemplate.opsForList().range(key, 0, 3)

從結(jié)果看:從索引第1個(gè)&mdash;&mdash;索引第4個(gè)

redis中的opsForList().range()如何使用

5.2、stringRedisTemplate.opsForList().range(key, 1,2)

從結(jié)果看:從索引第2個(gè)&mdash;&mdash;索引第3個(gè)

redis中的opsForList().range()如何使用

5.3、stringRedisTemplate.opsForList().range(key, 2,1)

從結(jié)果看:從索引第3個(gè)&mdash;&mdash;索引第2個(gè)不行,從索引第2個(gè)&mdash;&mdash;索引第3個(gè)可以

結(jié)論:從索引0開(kāi)始,要按照順序(即 0、1、2、&hellip;&hellip;、N-1),逆序是不行的

redis中的opsForList().range()如何使用

6、測(cè)試索引倒數(shù)&mdash;&mdash;索引正數(shù)(正數(shù)索引,下標(biāo) 0 為第一個(gè))

6.1、stringRedisTemplate.opsForList().range(key, -2, 2)

從結(jié)果看:這樣就不難理解了,從索引倒數(shù)第2個(gè)(即row為3),到索引第3個(gè)(即row為3)

redis中的opsForList().range()如何使用

6.2、stringRedisTemplate.opsForList().range(key, -4, 3)

從結(jié)果看:這樣就不難理解了,從索引倒數(shù)第4個(gè)(即row為1),到索引第3個(gè)(即row為4)

redis中的opsForList().range()如何使用

6.3、stringRedisTemplate.opsForList().range(key, -4, 5)

從結(jié)果看:從索引倒數(shù)第4個(gè)(即row為1),到索引第5個(gè)(即row為6)

結(jié)論:按順序超出是沒(méi)問(wèn)題的

redis中的opsForList().range()如何使用

以上就是關(guān)于“redis中的opsForList().range()如何使用”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI