通过 Java 操作 redis -- list 列表基本命令

目录

使用命令 lpush,lrange,rpush

使用命令 lpop 和 rpop

使用命令 blpop,brpop

使用命令 llen


关于 redis list 列表类型的相关命令推荐看Redis - list 列表

要想通过 Java 操作 redis,首先要连接上 redis 服务器,推荐看通过 Java 操作 redis -- 连接 redis

        本博客只介绍了一小部分常用的命令,其他的命令根据上面推荐的博客也能很简单的使用出来(推荐先看上面推荐的博客,有 redis 的原生命令)

使用命令 lpush,lrange,rpush

/**
     * 使用命令 lpush,lrange,rpush
     * */
    public static void test1(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();

        //向 redis 中插入类型为 list 的键值对(向左依次插入数据),返回值为插入该数据后列表中的数据个数
        long result1=jedis.lpush("key1","111","222","333");
        System.out.println("result1:"+result1);

        //获取列表中指定范围内的数据
        List<String> result2=jedis.lrange("key1",0,-1);
        System.out.println("result2:"+result2);

        //向 redis 中插入类型为 list 的键值对(向右依次插入数据),返回值为插入该数据后列表中的数据个数
        long result3=jedis.rpush("key2","111","222","333");
        System.out.println("result3:"+result3);

        //获取列表中指定范围内的数据
        List<String> result4=jedis.lrange("key2",0,-1);
        System.out.println("result4:"+result4);
    }

运行结果:

使用命令 lpop 和 rpop

    /**
     * 使用命令 lpop 和 rpop
     * */
    public static void test2(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();

        //向 redis 中插入类型为 list 的键值对(向右依次插入数据),返回值为插入该数据后列表中的数据个数
        jedis.rpush("key1","111","222","333");
        List<String> result1=jedis.lrange("key1",0,-1);
        System.out.println("result1:"+result1);

        //从左边弹出 key1 列表中的 1 个数据
        String result2=jedis.lpop("key1");
        System.out.println("result2:"+result2);

        //从右边弹出 key1 列表中的 2 个数据
        String result3=jedis.rpop("key1");
        System.out.println("result3:"+result3);
    }

运行结果:

使用命令 blpop,brpop

   /**
     * 使用 blpop,brpop
     * brpop 和 blpop 几乎相同,所以不再赘述
     * */
    public static void test3(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();

        //监视列表 key1 ,当列表中有数据时表现和 lpop 相同,当没有数据时进入阻塞,阻塞 2 秒
        //返回值是列表但只有两个元素,第一个元素代表从哪个 key 中得到了数据,第二个元素代表得到的数据是什么
        List<String> result1=jedis.blpop(2,"key1");
        System.out.println("result1:"+result1);

        jedis.rpush("key2","111");
        //监视列表 key2 和 key3 ,当两个列表都没有数据时进入阻塞,阻塞 2 秒(某个列表有数据就能获取到)
        List<String> result2=jedis.blpop(2,"key2","key3");
        System.out.println("result2:"+result2);
    }

运行结果:

使用命令 llen

    /**
     * 使用 llen
     * */
    public static void test4(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();

        jedis.rpush("key1","111","222","333");
        List<String> result1=jedis.lrange("key1",0,-1);
        System.out.println("result1:"+result1);

        //获取列表 key1 中的元素个数
        long result2=jedis.llen("key1");
        System.out.println("result2:"+result2);
    }

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/605618.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

抽象类基本概念

抽象类及抽象方法 概念&#xff1a;一个类中没有包含足够的信息来描绘一个具体的对象&#xff0c;这种类被定义为抽象类&#xff0c;含有抽象方法的类也被称为抽象类。 用通俗的话来说就是当一个类的某个功能&#xff08;方法&#xff09;实现不确定时&#xff0c;我们就将该…

【Hadoop】MapReduce (七)

MapReduce 执行流程 MapTask执行流程 Read&#xff1a;读取阶段 MapTask会调用InputFormat中的getSplits方法来对文件进行切片切片之后&#xff0c;针对每一个Split&#xff0c;产生一个RecordReader流用于读取数据数据是以Key-Value形式来产生&#xff0c;交给map方法来处理…

RAFT:引领 Llama 在 RAG 中发展

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Java面试八股文(MySQL篇)

数据库三范式 数据库事务介绍 索引介绍 SQL优化手段 mysql union 与 union all 语法及用法 并发事务带来的问题 大表如何优化 索引类型介绍 MYSQL数据库锁介绍

代码审计-PHP模型开发篇MVC层动态调试未授权脆弱鉴权未引用错误逻辑

知识点 1、PHP审计-动态调试-未授权安全 2、PHP审计-文件对比-未授权安全 3、PHP审计-未授权访问-三种形态动态调试优点 1、实时跟踪代码执行流程 2、实时获取变量接受数据 3、实时分析指定文件动态 环境配置&#xff1a;https://blog.csdn.net/m0_60571842/article/details/…

您可以使用WordPress创建的19种网站类型

当人们决定为什么他们应该使用WordPress时&#xff0c;我们经常会被问到“WordPress可以做[空白]吗&#xff1f;答案大多是肯定的。在本文中&#xff0c;我们将向您展示您可以使用WordPress创建的19种不同类型的网站&#xff0c;而无需学习任何编程技巧。 目录 隐藏 1 开始使用…

JS-拖拽元素放大缩小

效果左右布局&#xff0c;拖拽后&#xff0c;宽度放大缩小 其实自己写也可以&#xff0c;不过还是发现了两个好用的js库&#xff0c;既然不需要自己写&#xff0c;当然是能偷懒就偷懒 1、resizerjs 官网地址&#xff1a;https://github.com/eknowles/resizerjs <!doctype …

Milvus Cloud 的RAG 的广泛应用及其独特优势

一个典型的 RAG 框架可以分为检索器(Retriever)和生成器(Generator)两块,检索过程包括为数据(如 Documents)做切分、嵌入向量(Embedding)、并构建索引(Chunks Vectors),再通过向量检索以召回相关结果,而生成过程则是利用基于检索结果(Context)增强的 Prompt 来激…

C语言22行代码,让你的朋友以为中了病毒

1 **C语言介绍 ** C语言是一种计算机编程语言&#xff0c;由丹尼斯里奇&#xff08;Dennis Ritchie&#xff09;在1972年左右为UNIX操作系统设计并开发。它具有高效、可移植、灵活和强大的特点&#xff0c;在计算机科学领域中具有广泛的应用。C语言是一种结构化语言&#xff0…

【原创】不同RTOS中POSIX接口的实现差异

文章目录 前言POSIX简介RTOS对POSIX的实现情况ZephyrFreeRTOS RTOS提供的POSIX接口实时吗&#xff1f;nanosleepTimer-不同linux版本和xenomai的实现差异PREEMPT-RT Timer实现原理Xenomai Timer实现原理 总结参考 前言 在开发实时应用时&#xff0c;我们希望软件具备良好的跨平…

用于密集预测任务的通道知识蒸馏——关键字:蒸馏

摘要 https://arxiv.org/pdf/2011.13256 知识蒸馏(KD)已被证明是训练紧凑密集预测模型的简单有效工具。通过从大型教师网络转移而来的额外监督来训练轻量级学生网络。大多数先前的针对密集预测任务的KD变体都在空间域中对学生网络和教师网络的激活图进行对齐,通常是通过在每…

实验9:WLAN配置管理(课内实验)

实验9&#xff1a;WLAN配置管理 实验目的及要求&#xff1a; 掌握无线局域网络无线路由器和无线网络控制器的配置与应用。能够完成配置SSID隐藏、密码认证&#xff0c;远程站点WLAN配置和WLC配置等无线网络配置&#xff0c;完成网络连通性测试。 实验设备&#xff1a; 无线…

吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):2.5 更复杂的神经网络

目录 示例填写第三层的层数1.问题2.答案 公式&#xff1a;计算任意层的激活值激活函数 示例 层数有4层&#xff0c;不包括输入层。 填写第三层的层数 1.问题 你能把第二个神经元的上标和下标填写出来吗&#xff1f; 2.答案 根据公式g(wxb)&#xff0c;这里的x对应的是上…

C# IO下的文件和目录详解

文章目录 1、文件和目录的基本概念2、文件的操作方法打开文件&#xff1a;读取文件&#xff1a;写入文件&#xff1a;删除文件&#xff1a;文件权限 3、目录的操作方法创建目录&#xff1a;遍历目录&#xff1a;删除目录目录权限 4、文件和目录的属性与信息5、文件和目录的相对…

钟表——蓝桥杯十三届2022国赛大学B组真题

问题分析 这个问题的关键有两点&#xff1a;1.怎么计算时针&#xff0c;分针&#xff0c;秒针之间的夹角&#xff0c;2.时针&#xff0c;分针&#xff0c;秒针都是匀速运动的&#xff0c;并非跳跃性的。问题1很好解决看下面的代码就能明白&#xff0c;我们先考虑问题2&#xf…

数字图像处理知识点

数字图像处理知识点 一、绪论1、数字图像处理相关概念2、数字图像处理流程1.3 数字图像处理主要研究内容二、视觉与色度基础1、图像传感器与二维成像原理2、三基色2.1 三基色原理2.2 亮度方程3、HSI模型3.1 HSI模型优点3.2 RGB到HSI转换三、数字图像处理基础1、图像的数字化及表…

unreal engine5.3.2 Quixel bridge无法登陆

UE5系列文章目录 文章目录 UE5系列文章目录前言一、问题定位二、解决方法 前言 这几天unreal engine5.3.2 Quixel bridge无法登陆&#xff0c;输入epic 账号和密码&#xff0c;然后在输入epic发送的验证码&#xff0c;总是提示登录失败。就算是使用科学上网依然无法登录。而且…

linux Shell编程之条件语句

条件测试操作 test命令 条件测试操作 Shell环境根据命令执行后的返回状态值&#xff08;$?&#xff09;来判断是否执行成功&#xff0c;当返回值为0&#xff08;真true&#xff09;时表示成功&#xff0c;返回值为非0值&#xff08;假false&#xff09;时表示失败或异常。 t…

Python深度学习基于Tensorflow(5)机器学习基础

文章目录 监督学习线性回归逻辑回归决策树支持向量机朴素贝叶斯 集成学习BaggingBoosting 无监督学习主成分分析KMeans聚类 缺失值和分类数据处理处理缺失数据分类数据转化为OneHot编码 葡萄酒数据集示例 机器学习的流程如下所示&#xff1a; 具体又可以分为以下五个步骤&#…

转转小程序数据处理

声明 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01;wx a15018601872&#xff0c;x30184483x…