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個不行,從索引倒數第3個——索引倒數第2個可以。
結論:從索引倒數第N個開始,要依照順序(即-N、-(N-1)、-(N-2)、……、-1),逆序是不行的
從結果看:從索引第1個——索引第4個
從結果看:從索引第2個——索引第3個
從結果看:從索引第3個——索引第2個不行,從索引第2個——索引第3個可以
#結論:從索引0開始,要依照順序(即0、1、2、……、N-1),逆序是不行的
##6、測試索引倒數——索引正數(正數索引,下標0 為第一個)6.1、stringRedisTemplate.opsForList().range(key, -2, 2)#從結果看:這樣就不難理解了,從索引倒數第2個(即row為3),到索引第3個(即row為3) 6.2、stringRedisTemplate.opsForList().range(key, -4, 3)從結果看:這樣就不難理解了,從索引倒數第4個(即row為1),到索引第3個(即row為4) 6.3、stringRedisTemplate.opsForList().range(key, -4, 5)#從結果看:從索引倒數第4個(即row為1),到索引第5個(即row為6)#結論:依序超出是沒問題的以上是redis中的opsForList().range()如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!