当前位置: 七九推 > IT编程>数据库>Redis > redis中opsForList().range()的使用方法详解

redis中opsForList().range()的使用方法详解

2023年03月17日 Redis 我要评论
测试stringredistemplate.opsforlist().range(key, start, end)的使用结论(具体测试数据请往下看)1、start—end总体保持着顺序就没

测试stringredistemplate.opsforlist().range(key, start, end)的使用

结论(具体测试数据请往下看)

1、start—end总体保持着顺序就没问题

2、按照顺序,即便start < -n或者end > n-1也能查询出数据

3、特殊用法:通过stringredistemplate.opsforlist().range(key, 0, -1)可以查询索引第一个到索引倒数第一个(即所有数据)

1、环境 redis

2、测试代码:

  @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、测试数据(假设list长度为n)

4、测试从索引倒数开始

4.1、stringredistemplate.opsforlist().range(key, -4, -1)

从结果看:从索引倒数第4个——索引倒数第1个

4.2、stringredistemplate.opsforlist().range(key, -3, -1)

从结果看:从索引倒数第3个——索引倒数第1个

4.3、stringredistemplate.opsforlist().range(key, -3, -2)

从结果看:从索引倒数第3个——索引倒数第2个

4.4、stringredistemplate.opsforlist().range(key, -2, -3)

从结果看:从索引倒数第2个——索引倒数第3个不行,从索引倒数第3个——索引倒数第2个可以。

结论:从索引倒数第n个开始,要按照顺序(即 -n、-(n-1)、-(n-2)、……、-1),逆序是不行的

5、测试从索引正数开始

5.1、stringredistemplate.opsforlist().range(key, 0, 3)

从结果看:从索引第1个——索引第4个

5.2、stringredistemplate.opsforlist().range(key, 1,2)

从结果看:从索引第2个——索引第3个

5.2、stringredistemplate.opsforlist().range(key, 2,1)

从结果看:从索引第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()的使用方法详解的文章就介绍到这了,更多相关redis opsforlist().range()的使用内容请搜索七九推以前的文章或继续浏览下面的相关文章希望大家以后多多支持七九推!

(0)
打赏 微信扫一扫 微信扫一扫

相关文章:

  • 在产品中,我们常说的A端/B端/C端是什么?

    在产品中,我们常说的A端/B端/C端是什么?

    一、引言 二、我们常说的A端/B端/C端/R端是什么? 2.1 产品分类 IT产品大致可以分为这四个类型: A 端 是开发界... [阅读全文]
  • 游戏关键字070805

    游戏关键字070805

    .we are ready  统一加速器  刘文辉  理财教室  抗战英雄传  士兵突击在线观看  网游之混迹在美女工作室  爱幼阁  李阳疯狂英语mp3下载 ... [阅读全文]
  • MSM8976平台概述

    MSM8976平台概述

    MSM8976是从8952平台继承下来的,包含两组(cluster)core:   四个A72cpu核... [阅读全文]
  • cve-2017-3506&cve-2017-10271简析

    cve-2017-3506&cve-2017-10271简析

    漏洞利用前提 影响版本 10.3.6.0, 12.1.3.0, 12.2.1.0, 12.2.1.1 , 12.2.1.2 原理简析 漏洞触发位置:... [阅读全文]
  • Redis可以做什么

    Redis可以做什么

    redis用途很广泛,可以用在很多地方 1.记录帖子的点赞数,评论数和点击数hash 2.记录用户的帖子id列表并排序,... [阅读全文]
  • Unable to connect to Redis无法连接到Redis解决的全过程

    项目场景:提示:这里简述项目相关背景:在某个项目中的提交按钮不好用org.springframework.data.redis.redisconnectionfailureexce…

    2023年03月25日 数据库

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2023  七九推 保留所有权利. 粤ICP备17035492号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com