1. start—end が全体の順序を維持していれば問題はありません
2. start であっても順序に従います N-1 もデータをクエリできます
3. 特別な使用法: stringRedisTemplate.opsForList().range(key, 0, -1) を通じて、最初のインデックスをクエリできます。最後のインデックス (つまり、すべてのデータ)
@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); }
結果から: 最後のインデックスから 4 番目 - 最後のインデックスから 1 番目
結果から: 最後のインデックスから 3 番目 - 最後のインデックスから 1 番目
結果から: 最後のインデックスから 3 番目 - 最後のインデックスから 2 番目
結果から: 最後のインデックスから 2 番目 - 最後のインデックスから 3 番目は無効になりますwork, from インデックスの下から 3 番目 - インデックスの下から 2 番目で大丈夫です。
結論: N 番目のインデックスから順に並んでいる必要があります (つまり、-N、-(N-1)、-(N-2)、...、-1)。順序は逆ではありません。 '
結果から: 最初のインデックスから 4 番目のインデックスまで
##5.2, stringRedisTemplate.opsForList().range(key, 1,2) 結果から: 2 番目のインデックスから 3 番目のインデックス##5.3, stringRedisTemplate.opsForList().range(key, 2,1)
結論: インデックス 0 から開始し、順序が整っていなければなりません (つまり、0、 1、2、...、N-1)、逆順は不可
6. テスト インデックス カウントダウン——正のインデックス (正のインデックス、添字 0 は最初のもの)
6.2. stringRedisTemplate.opsForList().range(key, - 4, 3)
6.3, stringRedisTemplate.opsForList().range(key, -4, 5)
#結論: 順番に超えても問題ありません
以上がRedis で opsForList().range() を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。