当前位置: 首页 > news >正文

Redis-数据类型-Hash

文章目录

  • 1、查看redis是否启动
  • 2、通过客户端连接redis
  • 3、切换到db3数据库
  • 4、插入新数据返回1
  • 5、获取指定哈希(hash)对象的所有字段(field)名
  • 6、获取存储在指定哈希(hash)对象中的所有字段(field)的值
  • 7、获取存储在哈希(hash)数据类型中指定字段的值
  • 8、获取存储在哈希(Hash)数据结构中指定键(key)的所有字段(field)和值(value)
  • 9、获取存储在哈希(Hash)数据结构中指定键(key)的字段数量
  • 10、检查哈希(Hash)数据结构中指定的字段(field)是否存在
  • 11、删除哈希表(Hash)中的一个或多个指定字段
  • 12、对哈希表中的字段值进行增加操作
  • 13、返回哈希表中一个或多个给定字段的值(hash muli get)
  • 14、设置哈希表中多个字段和值

1、查看redis是否启动

[root@localhost ~]# ps -ef | grep redis
root       4270      1  0 05:51 ?        00:00:27 /usr/local/redis/bin/redis-server *:6379
root       5458   5407  0 07:33 pts/1    00:00:00 /usr/local/redis/bin/redis-cli -p 6379
root       7851   6858  0 10:59 pts/0    00:00:00 grep --color=auto redis
[root@localhost ~]# 

2、通过客户端连接redis

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

3、切换到db3数据库

127.0.0.1:6379> select 3
OK
127.0.0.1:6379[3]> 

4、插入新数据返回1

127.0.0.1:6379[3]> hset hm01 s01 jim
(integer) 1
127.0.0.1:6379[3]> keys *
1) "hm01"
127.0.0.1:6379[3]> hset hm01 s02 tom
(integer) 1
127.0.0.1:6379[3]> keys *
1) "hm01"
127.0.0.1:6379[3]> 

在这里插入图片描述

5、获取指定哈希(hash)对象的所有字段(field)名

HKEYS key 命令返回存储在指定哈希对象中的所有字段名。

127.0.0.1:6379[3]> keys *
1) "hm01"
127.0.0.1:6379[3]> hkeys hm01
1) "s01"
2) "s02"
127.0.0.1:6379[3]> 

6、获取存储在指定哈希(hash)对象中的所有字段(field)的值

HVALS key 命令返回与指定哈希对象关联的所有字段的值。

127.0.0.1:6379[3]> keys *
1) "hm01"
127.0.0.1:6379[3]> hkeys hm01
1) "s01"
2) "s02"
127.0.0.1:6379[3]> hvals hm01
1) "jim"
2) "tom"
127.0.0.1:6379[3]> 

7、获取存储在哈希(hash)数据类型中指定字段的值

127.0.0.1:6379[3]> hget hm01 s01
"jim"
127.0.0.1:6379[3]> 

8、获取存储在哈希(Hash)数据结构中指定键(key)的所有字段(field)和值(value)

127.0.0.1:6379[3]> hgetall hm01
1) "s01"
2) "jim"
3) "s02"
4) "tom"
127.0.0.1:6379[3]> 

9、获取存储在哈希(Hash)数据结构中指定键(key)的字段数量

127.0.0.1:6379[3]> hlen hm01
(integer) 2
127.0.0.1:6379[3]> 

在这里插入图片描述

10、检查哈希(Hash)数据结构中指定的字段(field)是否存在

127.0.0.1:6379[3]> hkeys hm01
1) "s01"
2) "s02"
127.0.0.1:6379[3]> hexists hm01 s03
(integer) 0
127.0.0.1:6379[3]> hexists hm01 s02
(integer) 1
127.0.0.1:6379[3]> 

11、删除哈希表(Hash)中的一个或多个指定字段

127.0.0.1:6379[3]> hkeys hm01
1) "s01"
2) "s02"
127.0.0.1:6379[3]> hdel hm01 s02 s03 s04 s05
(integer) 1
127.0.0.1:6379[3]> hgetall hm01
1) "s01"
2) "jim"
127.0.0.1:6379[3]> 

12、对哈希表中的字段值进行增加操作

127.0.0.1:6379[3]> hset hm01 age 25
(integer) 1
127.0.0.1:6379[3]> hgetall hm01
1) "s01"
2) "jim"
3) "age"
4) "25"
127.0.0.1:6379[3]> hincrby hm01 age 5
(integer) 30
127.0.0.1:6379[3]> hgetall hm01
1) "s01"
2) "jim"
3) "age"
4) "30"
127.0.0.1:6379[3]> 

13、返回哈希表中一个或多个给定字段的值(hash muli get)

  1. h 代表哈希(Hash)数据结构
  2. mget 是“multi get”的缩写
127.0.0.1:6379[3]> keys *
1) "hm01"
127.0.0.1:6379[3]> hkeys hm01
1) "s01"
2) "age"
127.0.0.1:6379[3]> hmget hm01 s01 age
1) "jim"
2) "30"
127.0.0.1:6379[3]> 

14、设置哈希表中多个字段和值

hmset(现已被hset命令的多个字段-值对版本所取代)是一个用于设置哈希表中多个字段和值的命令。

127.0.0.1:6379[3]> hmset hm01 s02 tom age 25 address USA
OK
127.0.0.1:6379[3]> hgetall hm01
1) "s01"
2) "jim"
3) "age"
4) "25"
5) "s02"
6) "tom"
7) "address"
8) "USA"
127.0.0.1:6379[3]> 

在这里插入图片描述
在这里插入图片描述

相关文章:

Redis-数据类型-Hash

文章目录 1、查看redis是否启动2、通过客户端连接redis3、切换到db3数据库4、插入新数据返回15、获取指定哈希(hash)对象的所有字段(field)名6、获取存储在指定哈希(hash)对象中的所有字段(fiel…...

基于redisson实现tomcat集群session共享

目录 1、环境 2、修改server.xml 3、修改context.xml 4、新增redisson配置文件 5、下载并复制2个Jar包到Tomcat Lib目录中 6、 安装redis 7、配置nginx负载均衡 8、配置测试页面 9、session共享测试验证 前言: 上篇中,Tomcat session复制及ses…...

postgres数据库的流复制

1. 流复制和逻辑复制的差异 逻辑复制和流复制最直观的不同是,逻辑复制支持表级别复制区分点事原理不同 逻辑日志是在wal日志产生的数据库上,由逻辑解析模块对wal日志进行初步的解析,解析结果是ReorderBufferChange(理解为HeapTup…...

Dxf库中的DL_Extrusion类

类DL_Extrusion DL_Extrusion 是 DXF 库中的一个类,用于表示三维实体的扩展信息。在 DXF 文件中,DL_Extrusion 类通常用于表示具有高度的三维图形实体,如立方体、圆柱体等,以及其它具有体积的几何对象。 以下是一个简单的示例代…...

“ONLYOFFICE 8.1版本评测:功能更强大,用户体验更佳”

最新版本的在线编辑器已经发布 ONLYOFFICE在线编辑器的最新版本8.1已经发布,整个套件带来了30多个新功能和432个bug修复。这个强大的文档编辑器支持处理文本文档、电子表格、演示文稿、可填写的表单和PDF,并允许多人在线协作,同时支持AI集成…...

搜维尔科技:【研究】触觉手套比控制器更能带来身临其境、更安全、更高效的虚拟体验

自然交互可提高VR模拟的有效性。研究表明,触觉手套比控制器更能带来身临其境、更安全、更高效的虚拟体验。 以下是验证 医疗培训中的触觉技术 “ 95.5%的参与者表示触摸是 XR 教育的重要组成部分,90.9% 的参与者表示 XR 触觉将提供一个安全的学习场所。…...

【小学期】实体类设计——以学生管理系统为例

项目目录中的位置 将Student.java文件放在src/model目录中,即: student_management │ ├── src │ ├── model │ │ ├── Student.java // 这里是Student实体类 │ │ └── StudentDAO.java │ │ │ ├── view │ │ …...

Java测试类

在Java中,为了编写测试类,通常使用JUnit框架。 1. 首先,创建一个名为Calculator的简单Java类,它包含一个方法add用于计算两个整数的和: public class Calculator {public int add(int a, int b) {return a b;} } 2.…...

python 中面向对象编程:深入理解封装、继承和多态

在本章中,我们将深入探讨Python中的高级面向对象编程概念,包括封装、继承和多态。让我们开始吧! 目录 面向对象简介类和实例属性和方法继承和多态 高级面向对象概念私有变量使用 property使用 __slots__类的特殊成员__doc____call____str____…...

OpenCV练习(2)图像校正

1、傅里叶变换 霍夫变换 直线 角度 旋转2、边缘检测 霍夫变换 直线角度 旋转3、四点透视 角度 旋转4、检测矩形轮廓 角度 旋转 1.目的 实现类似全能扫面王的图像校正功能 2. 基于轮廓提取和透射变换 基于轮廓提取和透射变换的矫正算法更适用于车牌、身份证、人民…...

Excel中的“点选输入”——次级下拉列表创建

在Excel中,用“数据验证”功能可以设置下拉列表,二级下拉列表需要设置公式。 (笔记模板由python脚本于2024年06月16日 18:36:37创建,本篇笔记适合经常使用Excel处理数据的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:http…...

基于 Spring AOP 实现安全检查

在现代应用程序中,安全性是一个至关重要的方面。通过对系统中的关键操作进行安全检查,可以有效防止未授权的访问和操作。Spring AOP(面向切面编程)提供了一种优雅的方式来实现安全检查,而无需修改业务逻辑代码。本文将…...

【MySQL】数据库事务详解

文章目录 前言1. 事务的定义2. 事务的四个特性2.1 原子性2.2 一致性2.3 隔离性2.4 持久性 3. 事务的并发问题3.1 脏读3.2 不可重复读3.3 幻读3.4 更新丢失 4. 事务的隔离级别5. 事务的使用结语 前言 假设我们现在需要操作数据库进行转账,A 给 B 转账 100 块钱&…...

ubuntu链接mysql

C链接mysql 报错 sudo apt-get update sudo apt-get install libmysqlclient-dev 指令编译 g -o mysql_example mysql_example.cpp -I/usr/include/mysql -lmysqlclient g mysql_test.cpp mysql_config --cflags --libs 安装mysql sudo apt updatesudo apt install mysql-…...

QStyledItemDelegate 和 QItemDelegate 的作用

在Qt中,QStyledItemDelegate和QItemDelegate是用于自定义和控制项视图控件(如QListView、QTableView、QTreeView)中项的显示和编辑的委托类。它们提供了对项的外观和编辑行为的定制能力。尽管它们在功能上有相似之处,但它们之间有…...

3.任务的创建与删除

1.什么是任务? 任务可以理解为进程/线程,创建一个任务,就会在内存开辟一个空间。 任务通常都含有while(1)死循环 2.任务创建与删除相关的函数 3.CUBEMAX相关配置 编辑一个led1闪烁的任务...

进程、CPU、MMU与PCB之间的关系

目录 进程与cpu(中央处理器) 源代码、程序、cpu与进程的关系 cpu超线程 CPU的简易架构与处理数据过程 进程与MMU(内存管理单元) mmu作用 cpu和mmu的关系 进程与PCB(进程控制块) PCB介绍与内部成员…...

代码随想录算法训练营Day50|1143.最长公共子序列、1035.不相交的线、53.最大子序和、392.判断子序列

最长公共子序列 1143. 最长公共子序列 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 最长公共子序列 - 动态规划 Longest Common Subsequence - Dynamic Programming_哔哩哔哩_bilibili 本题和上一题718.最长重复子数组在很多方面相似&#xf…...

国家自然科学基金标书大全(2002-2024)

数据来源:在20世纪80年代初,为了促进中国的科技体制革新并改革科研资金分配机制,中国科学院的89位院士联名向党和国家领导人提出建议,设立了国家自然科学基金的设立。国自然基金自创立以来,根据国家发展科学技术方针、…...

Python代码打包成exe应用

目录 一、前期准备 二、Pyinstaller打包步骤 Pyinstaller参数详解 三、测试 Spec 文件相关命令 一、前期准备 (1)首先,我们需要确保你的代码可以在本地电脑上的pycharm正常运行成功。 (2)我们要先安装Pyinstalle…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

7.4.分块查找

一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...

条件运算符

C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...