Maison > base de données > Redis > le corps du texte

Comment utiliser opsForList().range() dans Redis

王林
Libérer: 2023-05-26 13:46:20
avant
1730 Les gens l'ont consulté

Conclusion (veuillez voir ci-dessous pour les données de test spécifiques)

1. Si start—end maintient l'ordre global, il n'y aura aucun problème

2 Selon la commande, même si start < -N ou end > -1, les données peuvent être interrogées

3. Utilisation spéciale : via stringRedisTemplate.opsForList().range(key, 0, -1), vous pouvez interroger le premier au dernier index (c'est-à-dire toutes les données)

1. . Environnement redis

Comment utiliser opsForList().range() dans Redis

2. Code de test :

  @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);
    }
Copier après la connexion

3. Données de test (en supposant que la longueur de la liste est N)

Comment utiliser opsForList().range() dans Redis

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

À partir des résultats : À partir du 4ème dernier index - Le 1er du dernier index

Comment utiliser opsForList().range() dans Redis4.2, stringRedisTemplate.opsForList().range(key, - 3, -1)

D'après les résultats Regardez : le 3ème à partir du bas de l'index - le 1er à partir du bas de l'index

Comment utiliser opsForList().range() dans Redis4.3, stringRedisTemplate.opsForList().range(key, -3, - 2)

Regardez les résultats : le 1er à partir du bas de l'index 3——Le deuxième à partir du bas de l'index

Comment utiliser opsForList().range() dans Redis4.4, stringRedisTemplate.opsForList().range(key, -2, - 3)

D'après les résultats : Le deuxième à partir du bas de l'index - le troisième à partir du bas de l'index ne fonctionnera pas, mais le troisième à partir du bas de l'index - le deuxième à partir du bas de l'index le fera travail.

Conclusion : À partir du Nième index, l'ordre doit être (c'est-à-dire -N, -(N-1), -(N-2),..., -1 L'ordre inverse n'est pas possible

). Comment utiliser opsForList().range() dans Redis5. Le test part de l'index positif

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

D'après les résultats : du 1er index - le 4ème index

Comment utiliser opsForList().range() dans Redis5.2, stringRedisTemplate .opsForList().range(key, 1,2)

À partir des résultats : Du 2ème index au 3ème index

Comment utiliser opsForList().range() dans Redis5.3, stringRedisTemplate.opsForList() range(key, 2,1)

. D'après les résultats : à partir du 3ème indice - le 2ème indice n'est pas possible, mais à partir du 2ème indice - le 3ème indice est OK

Conclusion : à partir de l'indice 0 Pour commencer, il faut suivre l'ordre (c'est à dire 0, 1, 2 ,..., N-1), l'ordre inverse n'est pas possible

Comment utiliser opsForList().range() dans Redis6. Testez l'index réciproque - index positif (index positif, marquez ensuite 0 comme premier)

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

D'après les résultats : il n'est pas difficile de comprendre, le deuxième du dernier index (c'est-à-dire la ligne est 3 ), jusqu'au 3ème de l'index (c'est-à-dire la ligne est 3)

Comment utiliser opsForList().range() dans Redis6.2, stringRedisTemplate.opsForList().range(key, -4, 3)

D'après les résultats : Ce n'est pas difficile à comprendre, à partir de l'index Le 4ème à partir du bas (c'est-à-dire, la ligne est 1), au 3ème index (c'est-à-dire que la ligne est 4)

Comment utiliser opsForList().range() dans Redis6.3, stringRedisTemplate.opsForList().range(key, -4, 5)

Des résultats : Du 4ème au dernier (c'est-à-dire que la ligne est 1), jusqu'au 5ème index (c'est-à-dire que la ligne est 6)

Conclusion : ce n'est pas un problème de dépasser dans l'ordre

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal