通过 Java 操作 redis -- hash 哈希表基本命令

目录

使用命令 hset,hget

使用命令 hexists

使用命令 hdel

使用命令 hkeys,hvals

使用命令 hmget,hmset


关于 redis hash 哈希表类型的相关命令推荐看Redis - hash 哈希表

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

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

使用命令 hset,hget

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

        //向 redis 中添加一个哈希表类型的键值对,哈希表中添加了 f1 - 111 键值对
        //返回值为添加成功的键值对个数
        long result1=jedis.hset("key1","f1","111");
        System.out.println("result1:"+result1);

        //用哈希表作为参数,直接将哈希表中的键值对都添加到 key2 的哈希表中
        //返回值为添加成功的键值对个数
        HashMap<String,String> hashMap=new HashMap<>();
        hashMap.put("f1","111");
        hashMap.put("f2","111");
        hashMap.put("f3","111");
        long result2=jedis.hset("key2",hashMap);
        System.out.println("result2:"+result2);

        //获取 key1 对应的哈希表中,f1 对应的 value 值
        String result3=jedis.hget("key1","f1");
        System.out.println("result3:"+result3);
    }

运行结果

使用命令 hexists

    /**
     * 使用命令 hexists
     * */
    public static void test2(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();
        jedis.hset("key1","f1","111");

        //判断 key1 对应的哈希表中是否存在 key 为 f1 的键值对,存在返回 true ,否则返回 false
        boolean result1=jedis.hexists("key1","f1");
        System.out.println("result1:"+result1);

        boolean result2=jedis.hexists("key1","f2");
        System.out.println("result2:"+result2);
    }

运行结果

使用命令 hdel

    /**
     * 使用命令 hdel
     * */
    public static void test3(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();
        jedis.hset("key1","f1","111");
        jedis.hset("key1","f2","111");
        jedis.hset("key1","f3","111");

        //删除 key1 对应的哈希表中 key 为 f1 和 f2 的键值对
        long result1=jedis.hdel("key1","f1","f2");
        System.out.println("result1:"+result1);

        boolean result2=jedis.hexists("key1","f1");
        System.out.println("result2:"+result2);

        boolean result3=jedis.hexists("key1","f2");
        System.out.println("result3:"+result3);
    }

运行结果

使用命令 hkeys,hvals

    /**
     * 使用命令 hkeys,hvals
     * */
    public static void test4(Jedis jedis){
        //清除 redis 所有数据库中的所有数据
        jedis.flushAll();
        jedis.hset("key1","f1","111");
        jedis.hset("key1","f2","222");
        jedis.hset("key1","f3","333");

        //获取 key1 对应的哈希表中所有键值对的 key 值
        Set<String> result1=jedis.hkeys("key1");
        System.out.println("result1:"+result1);
        //获取 key1 对应的哈希表中所有键值对的 value 值
        List<String> result2=jedis.hvals("key1");
        System.out.println("result2:"+result2);
    }

运行结果

使用命令 hmget,hmset

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

        Map<String,String>map=new HashMap<>();
        map.put("f1","111");
        map.put("f2","222");
        map.put("f3","333");

        //批量插入键值对到 key1 对应的 哈希表中,但要使用 Map 作为参数,类似于 hset
        //插入成功返回 OK,否则返回 FALSE
        String result1=jedis.hmset("key1",map);
        System.out.println("result1:"+result1);

        //批量获取 key1 对应的哈希表中 key 为 f1,f2,f3 对应的 value 值
        List<String> result2=jedis.hmget("key1","f1","f2","f3");
        System.out.println("result2:"+result2);

    }

运行结果

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

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

相关文章

AVL Cruise与Simulink联合仿真(通过MATLAB DLL方式)

最近毕业设计需要用到AVL Cruise与Simulink进行联合仿真&#xff0c;分析汽车模型的经济性。下面介绍一下我所知的AVL Cruise与Simulink联合仿真的几种方式&#xff0c;它们各自的优缺点&#xff0c;以及DLL方式联合仿真的具体配置过程。我这里用的MATLAB软件版本是2021a&#…

运行Spring Boot项目失败?显示java: 无法访问org.springframework.boot.SpringApplication,让我来看看~

idea项目运行报错截图&#xff1a; &#xff08;1&#xff09;查看错误提示“类文件具有错误的版本 61.0, 应为 52.0”&#xff0c;61.0对应的是jdk17&#xff0c;52.0对应1.8。 通过这个网址可以查询版本&#xff1a; https://stackoverflow.com/questions/9170832/list-of-ja…

Linux文本三剑客

文章目录 一、文本搜索工具--grep1、简介2、工作原理3、语法格式4、选项介绍5、实例测试5.1、-i选项5.2、-v选项5.3、-n选项5.4、-c选项5.5、-o选项5.6、-B选项5.7、-A选项5.8、-C选项5.9、-w选项5.10、-E选项5.11、-e选项 二、流编辑器--sed1、简介2、工作原理3、语法格式4、选…

AI换脸原理(6)——人脸分割介绍

一、介绍 人脸分割是计算机视觉和图像处理领域的一项重要任务,它主要涉及到将图像中的人脸区域从背景或其他非人脸区域中分离出来。这一技术具有广泛的应用场景,如人脸识别、图像编辑、虚拟背景替换等。 在计算机视觉(CV)领域,经典的分割技术可以主要划分为三类:语义分…

程序员侠李飞

李飞&#xff0c;这位程序员侠&#xff0c;肩负着消灭黑暗势力的使命。他的代码如同一把利剑&#xff0c;切割着虚拟世界中的恶意程序&#xff0c;保护着数字领域的和平。他的键盘敲击声如同战鼓的轰鸣&#xff0c;警示着那些企图侵入系统的黑客。在代码的世界里&#xff0c;他…

【离散数学】集合上二元关系性质判定的实现(c语言实现)

实验要求 关系矩阵的初始化和打印 我们将关系矩阵存入一个二维数组中&#xff0c;因为集合元素个数不会超过5个所以就用一个5行5列二维数组来表示。 在我们得到了集合元素个数之后我们就可以对数组进行0,1随机赋值 //初始关系矩阵 void init_matrix(int array[][5], int n) {…

后端开发面经系列 -- 地平线C++一面

地平线C一面 公众号&#xff1a;阿Q技术站 来源&#xff1a;https://www.nowcoder.com/discuss/608452700895711232 1、分布式事务是否了解&#xff1f; 分布式事务是指涉及多个数据库或应用之间的事务操作&#xff0c;需要确保这些操作要么全部成功&#xff0c;要么全部失败…

Dynamic Extraction of Subdialogues for Dialogue Emotion Recognition

对话情感识别的子对话动态提取 摘要1. 介绍2 相关工作2.1 对话上下文建模2.2 常识知识 3 方法3.1 问题定义3.2 模型概述3.3 特征提取模块3.4 依赖性建模3.5 交互式子对话提取模块3.6 重要性增强的多头自注意力模块3.7 子对话框主题提取模块3.8. 分类模块 四、实验4.1 数据集4.1…

IDEA使用Maven生成普通项目没有生成iml文件解决方法

右击主目录选择&#xff1a; Open in Terminal 在生成的控制台输入&#xff1a; mvn idea:module 回车便自动生成iml文件啦&#xff01; 双击下主目录就可以看见啦

javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决

起因&#xff1a; 在帮别人讲解项目时&#xff0c;将项目的tomcat配置完&#xff0c;点击运行后&#xff0c;报错&#xff0c;信息如标题。 解决办法&#xff1a; 在csdn百度问题&#xff0c;得到的方法主要有几个&#xff1a; 1.jdk要配置在1.8以上&#xff1b; 2.数据库地…

【MySQL】ON WHERE 和 ON AND 的区别

1. 查询语句语法规则 “[ ]” 包含的内容可以省略&#xff1b; “{ }” 包含的内容必须存在&#xff1b; DISTINCT&#xff1a; 设定 **distinct** 可以去掉重复记录&#xff1b; AS&#xff1a; 表明或字段名过长时&#xff0c;可以用 **AS** 关键字起别名&#xff0c;也可…

06.配置邮件报警

配置邮件报警 我的授权码&#xff1a;HCHNVOAENURLOACG 1.定义发件人 密码是163邮箱的授权码 2.配置收件人 我就配置收件人是qq邮箱了 3.启动动作 验证邮件发送成功

Redis如何避免数据丢失?——AOF

目录 AOF日志 1. 持久化——命令写入到AOF文件 写到用户缓冲区 AOF的触发入口函数——propagate 具体的实现逻辑——feedAppendOnlyFile 从用户缓冲区写入到AOF文件(磁盘&#xff09; 函数write、fsync、fdatasync Redis的线程池 AOF文件的同步策略 触发的入口函数——…

特斯拉擎天柱机器人:工厂自动化的未来

随着技术的进步&#xff0c;工业自动化已经逐步进入了一个新的纪元。特斯拉最近公布的擎天柱机器人Optimus的演示&#xff0c;不仅仅展示了一个高科技机器人的能力&#xff0c;更是向我们揭示了未来工厂的可能性。 特斯拉擎天柱机器人的功能展示 马斯克在最新的演示中向我们展…

使用Nuxt.js实现服务端渲染(SSR)

Nuxt.js 是一个基于 Vue.js 的框架&#xff0c;它提供了服务器端渲染&#xff08;SSR&#xff09;和静态站点生成&#xff08;SSG&#xff09;的能力&#xff0c;使开发者能够轻松地构建高效、优雅的前端应用。Nuxt.js 集成了许多开箱即用的功能和工具&#xff0c;帮助开发者快…

C语言—深入理解指针(2)

1.数组名的理解 不难发现&#xff0c;数组名就是数组首元素的地址。 但是有两个例外&#xff1a; 1.sizeof&#xff08;数组名&#xff09; 这里的数组名表示整个数组&#xff0c;计算的是整个数组的大小&#xff0c;单位是字节。 2.&数组名 这里的数组名也表示整个数…

MacOS miniconda安装方法

打开macos “终端” 应用 执行命令 mkdir -p ~/miniconda3curl https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm -rf ~/miniconda3/mini…

CPU基本知识点

目录 1.概念 2.分类 3.运作原理 4.指令系统 1.概念 CPU&#xff1a;英文Central Processing Unit&#xff0c;即中央处理器。 解释和执行指令的功能单元&#xff0c;它是计算机的中枢神经系统&#xff08;即核心&#xff09;。 是计算机最核心的部件&#xff0c;主要是运算…

嵌入式数据库SQLite 3配置使用详细笔记教程

0、惨痛教训 随着管理开发的项目体积越来越庞大&#xff0c;产品系统涉及的数据量也越来越多&#xff0c;并且伴随着项目不久就要交付给甲方了。如果项目的数据信息没有被妥善管理&#xff0c;后期设备的运行状态、操作状况等数据流信息不能被溯源&#xff0c;当出现了一些特殊…

【35分钟掌握金融风控策略16】贷前风控策略详解-1

目录 贷前风控策略详解 贷前风控目标 精准审核申请贷款客户资质 对申请贷款客户进行合理定额 对申请贷款客户进行合理定价 推动实现利润最大化 贷前风控数据源 客户贷款时提供的数据 贷前风控策略详解 俗话说&#xff0c;良好的开端是成功的一半&#xff0c;而贷前是风…