【Redis】Hash数据类型

news/2024/9/25 0:16:02/

文章目录

  • 常用命令
    • hset & hget
    • hexists & hdel
    • hkeys & hvals & hgetall
    • hlen & hmget
    • hsetnx
    • hincrby & hincrbyfloat
  • 内部编码

Hash 相比于 string 而言可以节省很多个 key ,一个 key 里面又可以包含了多个 key-value

常用命令

hset & hget

HSET key field value [field value ...]
HGET key field

hset:设置 hash 中指定的字段(field)的值(value),一个 key 中可以包含多个 field-value,相当于套娃。

hget:获取指定 key 中的指定 field 的值。没有这个 field 则返回 nil

img

hexists & hdel

HEXISTS key field
HDEL key field [field ...]

hexists:判断指定 key 中是否有指定 field 字段

hdel:删除指定 key 中的指定 field 字段,可以一次删除多个字段,返回删除成功的字段的个数

img

hkeys & hvals & hgetall

HKEYS key
HVALS key
HGETALL key

hkeys:获取指定 key 中的所有字段

hvals:获取指定 key 中的所有字段的值

hgetall:获取指定 key 中的所有字段以及所有字段的值

img

hlen & hmget

HMGET key field [field ...]
HLEN key

hlen:获取指定 key 的字段个数

hmget:一次获取多个指定 key 中指定字段的值

img

hsetnx

HSETNX key field value

在指定 key 的字段不存在的情况下设置字段和值,成功返回1,失败返回0

img

hincrby & hincrbyfloat

HINCRBY key field increment
HINCRBYFLOAT key field increment

hincrby:为指定 key 的指定字段的值加上一个指定的整数

hincrbyfloat:为指定 key 的指定字段的值加上一个指定的浮点数

指定字段的值必须是表示为 数字

img

内部编码

哈希的内部编码有两种:

  • 当哈希类型元素个数⼩于 hash-max-ziplist-entries 配置(默认 512 个)、同时所有值都⼩于 hash-max-ziplist-value 配置(默认 64 字节)时,redis 会使用 ziplist 作为编码。这样紧凑的结构实现多个元素的连续存储更能节省内存。
  • 当无法满足 ziplist 时则会选用 hashtable 作为存储,虽然会变大但是 hashtable 的读写时间复杂度为 O(1)

http://www.ppmy.cn/news/1427339.html

相关文章

设计模式:状态模式示例

状态模式可以应用于多种场景,下面是一些示例及其代码实现: 1. 交通信号灯 交通信号灯(红灯、绿灯、黄灯)根据当前状态切换到下一个状态。 // 状态接口 interface TrafficLightState {void change(TrafficLight trafficLight); …

20240417,友元 FRIEND

本来要学习的吃瓜吃了一下午 目录 3.1 全局函数做友元 3.2 友元类 3.3 成员函数做友元 三&#xff0c;友元 3.1 全局函数做友元 #include<iostream> using namespace std; class Building {friend void goodGay(Building* building);//好朋友&#xff0c;可以访问…

将本地项目推送至gitlab仓库

1. gitlab上新建一个空白项目 gitlab上点击new project按钮&#xff0c;新建一个项目 新建空白项目 项目名称与本地新建项目名称相同&#xff0c;其余根据具体需要选择 2. 初始化本地仓库并commit项目 进入本地项目根目录下&#xff0c;右击 git bash here打开命令窗口 初始化…

C语言第六章之内存分布,内存管理

内存分布 C代码编译过程 预处理 宏定义展开、头文件展开、条件编译&#xff0c;这里并不会检查语法 编译 检查语法&#xff0c;将预处理后文件编译生成汇编文件 汇编 将汇编文件生成目标文件(二进制文件) 链接 将目标文件链接为可执行程序 进程的内存分布 程序运行起来(…

Ubuntu22.04下opencv4.9.0环境的搭建

目录 1、更新系统包列表:2、安装依赖项:3、下载 OpenCV 源代码:4、编译和安装 OpenCV:5、配置环境变量:6、测试1、更新系统包列表: 在终端中执行以下命令,以确保系统包列表是最新的: sudo apt update2、安装依赖项: 安装构建 OpenCV 所需的依赖项: sudo apt inst…

怎么用手机远程控制电脑 远程控制怎么用

怎么用手机远程控制电脑&#xff1a;远程控制怎么用 在这个科技日新月异的时代&#xff0c;远程控制电脑已经成为了很多人的需求。有时&#xff0c;我们可能在外出时突然需要访问家中的电脑&#xff0c;或者在工作中需要远程操控办公室的电脑。这时&#xff0c;如果能用手机远…

css层叠性,继承性,优先级

前言 本文概要&#xff1a;讲述css的三大特性&#xff0c;层叠&#xff0c;继承和优先级。 层叠性 描述&#xff1a;我们试想以下这种情况&#xff1a;我们定义了同一个选择器&#xff0c;但是定义的属性不同。属性有相同的也有不同的&#xff0c;那么最后我们这个页面会听谁的…

园区巡检机器人能解决哪些问题?

在当今城市化快速发展的背景下&#xff0c;园区管理成为了城市管理的重要组成部分。然而&#xff0c;随着园区规模的不断扩大和管理需求的日益增加&#xff0c;传统的园区巡检方式已经无法满足对园区安全、环境监测和设施维护的需求。人工巡检存在着效率低、覆盖范围有限、安全…