零基础学习Redis(7) -- hash类型命令使用

Redis本身就是通过哈希表的方式组织数据,同时redis中的value也可以是另一个哈希表。

1. 常用命令

1. hset / hsetnx

hset key filed1 value1 filed2 value2 ...

hset 用于把键值对存入value中,这里的key为redis组织的键, filed1 value1 filed2 value2 为key的value,为了区分所以把内部的 hash的键用filed表示。

hset会返回设置成功的键值对个数,如果filed已经存在则会覆盖对应的value但是返回数不会增加

hsetnx filed value 

filed 不存在才能设置成功

2. hget / hmget

hget key filed 

返回filed对应的value,不存在返回nil

hmget key filed1 filed2 ... 

返回多个filed对应的value,不存在返回nil

 

3. hdel

hdel key filed1 filed2 ...

删除对应的键值对,返回删除的个数:

4. hkeys

hkeys key 

返回key中所有的filed

5. hvals

hvals  key

返回key中所有的value 

6. hgetall 

hgetall key 

返回key中所有的键值对:

7. hlen

hlen key 

获取哈希表元素个数 

 8. hincrby / hincrbyfloat

hincrby key fild n

对value + n,并返回结果,n可以为负数

hincrbyfloat key fild f 

 对value + f,并返回结果,f可以为负数,小数

2. 编码方式

1. Ziplist:

  • 适用场景:当哈希表较小,且字段和值都较短时
  • 特点:Ziplist 是一种压缩编码方式,存储小型哈希表中的字段和值。它将多个字段和值紧凑地存储在一个连续的内存块中。

2. Hash Table:

  • 适用场景:当哈希表较大或字段和值较长时。
  • 特点:哈希表编码是 Redis 默认的哈希编码方式。它使用链式哈希结构,支持高效的字段和对应值的查找、插入和删除操作。

Redis 会根据哈希表的大小和内容自动选择适合的编码方式,以确保存储和操作的高效性。

3. 应用场景

作为缓存,存储一些结构化的数据,例如对象:

也可以把对象转为json使用string类型来存,不过没有使用哈希表直观,并且修改某个属性也更麻烦。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb笔记整理10——JWT令牌、Filter、Interceptor

目录 1.简介 2.生成和校验 3.登录-生成令牌 4.过滤器Filter 快速入门 Filter执行流程 Filter拦截路径 过滤器链 登录校验Filter 流程 代码 5.拦截器Interceptor 快速入门 Interceptor拦截路径 执行流程 代码 继笔记04-session cookie 1.简介 2.生成和校验 /*…

计算机毕业设计选题推荐-摇滚音乐鉴赏网站-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Linux信号处理机制基础

什么是信号 信号在最早的UNIX系统中即被引入,已有30多年的历史,但只有很小的变化。信号是提供异步事件处理机制的软件中断。进程之间可以相互发送信号,这使信号成为一种进程间通信(Inter-ProcessCommunication,lPC)的基本手段 信号的名称与…

splunk Enterprise 的HTTP收集器-windows

1.创建HTTP收集器 2.使用HTTP收集器 然后打开全局设置:把ssl给去掉,点保存(保存之后,可以看到这些状态全部都是已启用了): 3.测试: curl --location --request POST http://192.168.11.131:808…

u盘pe怎么安装系统_u盘pe安装系统详细步骤

u盘pe怎么安装系统?u盘pe安装系统需要准备一个u盘,然后将u盘制作成pe,进入pe后再安装系统,下面小编就教大家u盘pe安装系统详细步骤教程。 u盘pe启动盘是什么? u盘pe启动盘是一种可引导的USB存储设备,其中包…

10:Logic软件原理图中添加电源与GND

Logic软件原理图中添加电源与GND

续:docker 仓库数据传输加密

上一个实验:非加密的形式在企业中是不被允许的。 示例:【为Registry 提供加密传输】 因为传输也是https,所以与ssh一样的加密。 ## 这种方式就不用写这个了。 [rootdocker ~]# cat /etc/docker/daemon.json #{ # "insecure-registrie…

7个流行的开源数据治理工具

数字化时代,数据是已经成为最宝贵的资产之一。数据支撑着我们的政府、企业以及各类组织的所有流程,并为决策以及智能化服务提供支撑。大数据有大用途,但是也可能隐藏着巨大的风险,特别是如果我们对数据的情况不是很了解的时候&…

计算机组成原理:实验四常规型微程序控制器组成实验

一、实验目的 1.掌握时序产生器的组成原理。 2.掌握微程序控制器的组成原理。 3.掌握微指令格式的化简和归并。 二、实验电路 1.时序发生器 TEC-4计算机组成原理实验系统的时序电路如图4.1所示。电路采用2片GAL22V10(U6、U7),可产生两极…

钓鱼特辑(四)安全较量,摆脱“麻瓜”标签

时至今日,尽管员工们对网络安全有所了解,却往往因缺乏足够的安全意识而对攻防没有直观感知。在红队看来,普通员工可能犹如“麻瓜”,防御薄弱,易于突破。 现在红队以求职者或合作方等“人畜无害”的身份在日常沟通中发动…

Windows中pip换源

step1:检查是否安装 输入如下,出现版本号,就是安装好了 pip -V或pip --version pip3 -V pip3 --version step2:找到(创建)配置文件 对于 Windows 用户,配置文件在【%APPDATA%\pip\pip.ini】文…

使用LinkedHashMap实现固定大小的LRU缓存

使用LinkedHashMap实现固定大小的LRU缓存 1. 什么是LRU? LRU是"Least Recently Used"的缩写,意为"最近最少使用"。LRU缓存是一种常用的缓存淘汰算法,它的核心思想是:当缓存满时,优先淘汰最近最少…

Mac下的压缩包和Win看到的不一样怎么办 Mac压缩后Win电脑看文件名会乱码

在当今多平台的数字工作环境中,Mac和Windows用户常常需要交换文件,但有时候会遇到一些兼容性问题。特别是在处理压缩文件时,Mac用户创建的压缩包在Windows系统中打开时,常常会遇到文件名乱码的问题。本文将详细讨论“Mac下的压缩包…

C语言基础(二十八)

1、冒泡排序&#xff1a; #include "date.h" #include <stdio.h> #include <stdlib.h> #include <time.h> // 函数声明 void bubbleSort(int *arr, int n); int* createRandomArray(int n, int *size); int main() { int time getTi…

22行为型设计模式——解释器模式

一、解释器模式 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;主要用于解析和解释特定的语言或表达式。它的核心思想是为语言中的每种语法规则定义一个解释器&#xff0c;通过这些解释器将语言的表示形式转换为可执行的操作。解释器…

【Python机器学习】NLP词频背后的含义——距离和相似度

我们可以使用相似度评分&#xff08;和距离&#xff09;&#xff0c;根据两篇文档的表示向量间的相似度&#xff08;或距离&#xff09;来判断文档间有多相似。 我们可以使用相似度评分&#xff08;和举例&#xff09;来查看LSA主题模型与高维TF-IDF模型之间的一致性。在去掉了…

STM32基于HAL库串口printf使用和接收

我们这里使用HAL库直接用cubemx生成代码配置串口 1.打开cubemx&#xff0c;选择MCU型号 2.我这里使用的是STM32F103C8T6&#xff0c;根据自己的型号选择&#xff0c;这里不限制型号 3.选择时钟源 4.系统设置 5时钟配置 5.选择和配置串口 5.配置中断和中断优先级 6.工程设置…

node环境安装、vue-cli搭建过程、element-UI搭建使用过程

vue-cli 官方提供的一个脚手架&#xff0c;用于快速生成一个 vue 的项目模板&#xff1b;预先定义好的目录结构及基础代码&#xff0c;就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目&#xff0c;这个骨架项目就是脚手架&#xff0c;我们的开发更加的快速 前端项目架…

探索Python测试的奥秘:nose库的魔法之旅

文章目录 探索Python测试的奥秘&#xff1a;nose库的魔法之旅1. 背景&#xff1a;为什么要用nose&#xff1f;2. nose是什么&#xff1f;3. 如何安装nose&#xff1f;4. 五个简单的库函数使用方法4.1 nose.tools.assert_true4.2 nose.tools.assert_equal4.3 nose.tools.raises4…

html2canvas、pdf-lib、file-saver将html页面导出成pdf

html2canvas、pdf-lib、file-saver将html页面导出成pdf 项目背景 需要根据用户的账号信息&#xff0c;生成一个pdf报告发给客户&#xff0c;要求报告包含echart饼图、走势图等。 方案 使用html2canvas&#xff0c;将页面转成图片&#xff0c;再通过pdf-lib将图片转成pdf文件…