Rumah > pangkalan data > Redis > teks badan

Cara menggunakan opsForList().range() dalam redis

王林
Lepaskan: 2023-05-26 13:46:20
ke hadapan
1728 orang telah melayarinya

Kesimpulan (sila lihat di bawah untuk data ujian tertentu)

1 Jika permulaan—akhir mengekalkan susunan keseluruhan, tidak akan ada masalah

2 N-1 juga boleh menanyakan data

3 Penggunaan khas: melalui stringRedisTemplate.opsForList().range(key, 0, -1), anda boleh menanyakan indeks pertama ke. indeks terakhir ( Iaitu, semua data)

1 Persekitaran redis

Cara menggunakan opsForList().range() dalam redis

2 Kod ujian:

  @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);
    }
Salin selepas log masuk

3 data (dengan mengandaikan panjang Senarai ialah N)

Cara menggunakan opsForList().range() dalam redis

4. Ujian bermula daripada indeks timbal balik

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

Daripada keputusan: yang ke-4 daripada indeks terakhir——yang pertama daripada indeks terakhir

Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: yang ke-3 daripada indeks terakhir - yang pertama daripada indeks terakhir

Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: ke-3 dari bahagian bawah indeks - ke-2 dari bahagian bawah indeks

Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: yang kedua dari bawah indeks - yang ketiga dari bahagian bawah indeks tidak akan berfungsi, dari Yang ketiga dari bahagian bawah indeks - yang kedua dari bahagian bawah indeks adalah baik.

Kesimpulan: Bermula dari indeks ke-N, susunan mesti diikuti (iaitu -N, -(N-1), -(N-2),...,..., -1). Urutan terbalik tidak boleh dilakukan. 3)

Daripada keputusan: dari indeks 1 hingga indeks 4 Cara menggunakan opsForList().range() dalam redis

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

Dari hasil: dari indeks kedua - indeks ketiga

Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: dari indeks ke-3 - indeks ke-2 tidak berfungsi, dari indeks ke-2 - indeks ke-3 boleh

Kesimpulan : Bermula dari indeks 0, ia mesti mengikut urutan (iaitu 0 , 1, 2,..., N-1), tertib terbalik tidak boleh Cara menggunakan opsForList().range() dalam redis

6. Indeks ujian Timbal balik——Indeks positif (indeks positif, subskrip 0 ialah yang pertama)

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

Daripada keputusan: ia tidak sukar untuk difahami, dari indeks kedua hingga terakhir (iaitu, baris ialah 3), kepada indeks ketiga (iaitu, baris ialah 3) Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: ia tidak sukar untuk difahami, dari yang ke-4 dari bawah indeks (iaitu, baris ialah 1), hingga ke-4 dari indeks 3 (iaitu, baris ialah 4)

Cara menggunakan opsForList().range() dalam redis

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

Daripada keputusan: Daripada indeks terakhir ke-4 (iaitu, baris ialah 1) hingga indeks ke-5 (iaitu, baris ialah 6)

Kesimpulan: Tidak ada masalah untuk melebihi tertib Cara menggunakan opsForList().range() dalam redis

Atas ialah kandungan terperinci Cara menggunakan opsForList().range() dalam redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan