Redis命令 - Hashes命令组常用命令

1、HSET key field value

设置 key 指定的哈希集中指定字段的值。

HSET key field value
返回值:1代表field是一个新的字段。0代表field已存在

  • 如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。
  • 如果字段在哈希集中存在,它将被重写。

创建一个type为hash类型的key叫myhash,其指定的哈希集中有两个字段username和password,值分别是zhangsan、123456

hset myhash username “zhangsan”
hset myhash password “123456”

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

2、HMSET key field value [field value…]

接着向myhash的哈希集中再添加两个字段:age和sex

HMSET myhash age 18 sex male

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

3、HSETNX key field value

只在 key 指定的哈希集中不存在指定的字段时,设置字段的值。如果 key 指定的哈希集不存在,会创建一个新的哈希集并与 key 关联。如果字段已存在,该操作无效果。
含义如下
返回值:

1:如果字段是个新的字段,并成功赋值
0:如果哈希集中已存在该字段,没有操作被执行

已存在username字段,因此设置值将不会生效,返回值为0。username的值还是zhangsan

hsetnx myhash username “lisi”

在这里插入图片描述

不存在address字段,因此可以成功设置值,返回值为1。

hsetnx myhash address “china”

在这里插入图片描述

4、HGET key field

查询key指定的哈希集中该字段所关联的值。例如:
1、 获取myhash中的username字段的值,该字段是存在的,返回值即zhangsan

hget myhash username

在这里插入图片描述

2、获取myhash中,phone字段的值,该字段不存在,返回值是null

hget myhash phone

在这里插入图片描述

5、HGETALL key

获取key指定的哈希集中的所有字段和值。返回值中,每个字段名的下一个是它的值,所以返回值的长度是哈希集大小的两倍

hgetall myhash

在这里插入图片描述

6、HMGET key field [field …]

获取key指定的哈希集中的指定字段的值。

示例:查看myhash中username和password的值

hmget myhash username password

在这里插入图片描述

7、HKEYS key

获取key指定的哈希集中的所有字段名
1、当key指定的哈希集存在时,返回字段名列表。

hkeys myhash

在这里插入图片描述

2、当key指定的哈希集不存在时返回空列表。

hkeys myhash1

在这里插入图片描述

8、HEXISTS key field

哈希集里的field是否存在

1、哈希集里存在该field,返回值为1

hexists myhash username

2、哈希集里不存在该field,返回值为0

hexists myhash username1

在这里插入图片描述

9、HLEN key

获取 key 指定的哈希集包含的字段的数量
当key指定的哈希集存在:返回哈希集中字段的数量
当key指定的哈希集不存在:返回 0
在这里插入图片描述

10、HSTRLEN key field

如果hash或者field存在:返回hash指定field的value的字符串长度。zhangsan长度是8
如果hash或者field不存在:返回0.
> hstrlen myhash username

11、HINCRBY key field increment

increment可正可负。

  • 如果 key 不存在,会创建一个新的哈希集并与 key 关联。
  • 如果 key 存在且该字段存在:只要字段值是数字或者纯数字的字符串,就可以被增加指定的值。否则报错。
  • 如果 key 存在但是该字段不存在:则字段的值在该操作执行前被设置为 0
    注:HINCRBY 支持的值的范围限定在 64位 有符号整数

age是18,增加10之后是28。
在这里插入图片描述

12、HINCRBYFLOAT key field increment

increment是float类型

hincrbyfloat myhash age 10.5

在这里插入图片描述

13、HDEL key field [field…]

从 key 指定的哈希集中移除指定的字段。在哈希集中不存在的字段将被忽略。
如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,将会报错
示例:address字段存在,因此返回1,address1字段不存在,因此被忽略了。
在这里插入图片描述

14、用strings还是hash?

例如一张表信息如下

idusernamepasswordage
1zhangsan“123456”18

14.1 用Strings-JSON

redis中的strings该怎么存储?怎么方便去获取?

set user:1 “{“id”:1, “username”: “zhangsan”, “password”:“123456”, “age”:18}”

在这里插入图片描述在这里插入图片描述
获取user:1的值
在这里插入图片描述

14.2 用hash

hset user:2 id 1 username “zhangsan” password “123456” age 18

在这里插入图片描述
hash,相当于把表的行和列旋转了90度。
在这里插入图片描述
获取值:

在这里插入图片描述

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

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

相关文章

软件需求分析报告—word

技术要求 1.1接口要求 1.2可靠性,稳定性,安全性,先进性,拓展性,性能,响应。 2.系统安全需求 2.1物理设计安全 2.2系统安全设计 2.3网络安全设计 2.4应用安全设计 2.5用户安全管理 进主页获取更多资料

靶场实战(15):OSCP备考之VulnHub STAPLER

打靶思路 资产发现 主机发现服务发现漏洞发现(获取权限) 21端口/FTP服务 组件漏洞口令漏洞139端口/SMB服务 组件漏洞口令漏洞666端口/doom服务 组件漏洞其它漏洞80端口/HTTP服务 组件漏洞URL漏洞12380端口/HTTP服务 组件漏洞URL漏洞12380端口/HTTPS服务 …

watch监听一个对象中的属性 - Vue篇

vue中提供了watch方法&#xff0c;可以监听data内的某些数据的变动&#xff0c;触发相应的方法。 1.监听一个对象 <script>export default {data() {return {obj: {name: ,code: ,timePicker:[]}}},watch: {obj: {handler(newVal, oldVal) {//todo},immediate: true,deep…

idea常用快捷键 生成注释 生成方法 实现类方法

单行注释 ctrl/ 再次输入取消注释 多行注释 ctrlshift/ 再次输入取消注释 文档注释 输入 /** 加enter 生成方法 altenter 生成实现类方法 ctrlo 全局查找 ctrlshiftR 查看方法 ctrl左键 选中方法 查看实现类 altenter go to implementation 或 ctrlaltB

gitee创建远程仓库并克隆远程仓库到电脑

1、首先点加号新建一个仓库 2、输入仓库名&#xff0c;路径会自动填充&#xff0c;填写简单的仓库介绍&#xff0c;先选择私有&#xff0c;在仓库创建之后&#xff0c;可以改为开源 3、打开建好的仓库 4、复制仓库链接 5、打开一个文件夹(想要存储远程仓库的地址)&#xff0c;在…

创建大模型的新方法 - 配比两个模型

原文&#xff1a;创建大模型的新方法 - 配比两个模型 - 知乎 现在&#xff0c;创建大模型的新方法还可以使用配比两个模型- 正如炼金术巫师那样。 工具1 medusa&#xff1a;https://github.com/FasterDecoding/Medusa Medusa 为 LLM 添加了额外的“头”&#xff0c;以同时预测…

C# 图解教程 第5版 —— 第24章 预处理指令

文章目录 24.1 什么是预处理指令24.2 基本规则24.3 符号指令&#xff08;#define、#undef &#xff09;24.4 条件编译&#xff08;#if、#else、#elif、#endif&#xff09;24.5 条件编译结构24.6 诊断指令&#xff08;#warning、#error&#xff09;24.7 行号指令&#xff08;#li…

Web后端开发

一、Maven 1.1 简介 1.2 作用 1.3 流程 通过各种插件实现项目的标准化构建。 1.4 安装 1.5 配置环境 1.5.1 当前工程环境 1.5.2 全局环境 1.6 创建 Maven项目 1.7 导入项目 1.8 依赖管理 1.8.1 依赖配置 1.8.2 依赖传递 pom.xml——右键——Diagrams——show dependen…

隧道应用1-netsh端口映射内网

测试环境信息 物理机内网 IP &#xff1a;192.168.249.1 win7 虚拟机 IP &#xff1a; 192.168.249.131 win10 虚拟机 IP &#xff1a;192.168.249.129 我们在 win7 上配置 netsh 端口映射&#xff0c;将 win7 作为跳板机&#xff0c;进而访问到 win10 的服务。 端口映射与…

flutter 打包IOS及常用配置

修改APP名称 项目名字配置是在 ios/Runner/Info.plist 文件中的 dict 下的 CFBundleName testapp 。如下图所示: String里面就可以修改名称 修改项目 &#xff08;testapp&#xff09;的 Logo 图标 iOS 项目 Logo的配置是在 ios/Runner/Assets.xcassets/AppIcon.appiconset 文…

第24集《佛法修学概要》

庚三、不邪淫戒 辛一、解释名义 分五&#xff1a;辛一、解释名义&#xff1b;辛二、具缘成犯&#xff1b;辛三、犯戒轻重&#xff1b;辛四、开缘情况&#xff1b;辛五、持犯得失 请大家打开讲义第六十八页&#xff0c;我们讲到庚三不邪淫戒。这条戒是五戒的第三条。 辛一、解…

Golang 文件操作

读取 一次性读取data, err := os.ReadFile("filename.txt") if err != nil {log.Fatal(err) } fmt.Println(string(data))按行读取方式1:bufio.NewScanner file, err := os.Open("filename.txt") if err != nil {panic(err) } defer file.Close()scanner…

TypeScript泛型的高级用法:第三部分

泛型在开发第三方库时非常有用 在本文中&#xff0c;我将介绍如何使用TypeScript泛型来声明一个 defineStore 函数(类似于Pinia库中的 defineStore 函数)来完成以下挑战。在挑战中&#xff0c;我还会介绍一些非常有用的TypeScript知识。掌握了以后&#xff0c;应该会对你的工作…

用 AI 生成 Vue 组件?

大家好我是奇兵&#xff0c;三个月前&#xff0c;Vercel 推出了其 AI 代码生成工具 —— v0&#xff08;v0.dev&#xff09;&#xff0c;这款工具可以快速生成前端组件代码&#xff0c;引起了前端圈的广泛关注。通过简单的描述&#xff0c;v0能够快速生成前端页面&#xff0c;让…

拥抱Guava之集合操作

深入Guava集合操作 在Java开发中&#xff0c;Google Guava库是处理集合的强大工具。起源于Google内部需求&#xff0c;Guava以简洁性、性能优化为理念&#xff0c;提供高效不可变集合和实用工具类。本文深入剖析Guava的核心功能&#xff0c;为开发者呈现集合操作的全新视角&am…

算法第十八天-实现Trie(前缀树)

实现Trie&#xff08;前缀树&#xff09; 题目要求 解题思路 本文是前缀入门教程 从二叉树说起 前缀树&#xff0c;也是一种树。为了理解前缀树&#xff0c;我们先从二叉树说起。常见的二叉树结构是下面这样子的&#xff1a; class TreeNode { int val; TreeNode* left; Tre…

CDSP和CISP证书,选择哪个?

&#x1f3af;CDSP和CISP是两种与信息安全领域相关的专业认证。它们有一些相似之处&#xff0c;但也存在一些显著的区别。本文将详细介绍CDSP认证和CISP认证的相同点和区别。 &#x1f451;CDSP和CISP的相同点&#xff1a; 1.行业认可&#xff1a;CDSP和CISP都是行业广泛认可的…

Linux下通过EDAC功能检测PCIE硬件错误

1 EDAC的作用 The edac kernel modules goal is to detect and report hardware errors that occur within the computer system running under linux. 《Documentation/admin-guide/ras.rst》 EDAC可以检测物理内存的错误 和 PCIE的错误&#xff0c;本文主要分析后者。 2 机…

React入门 - 03(初识 React 组件和 JSX)

本章内容 目录 1.初识 React 组件2.关于 JSX 继上一节的工程案例&#xff0c;我们这一节主要了解一下 React组件和 “JSX 语法”。 前置知识点&#xff1a;ES6模块化&继承 1.初识 React 组件 1、打开 src/index.js文件&#xff08;项目的入口文件&#xff09;内容&…

如何使用WinDiff浏览和对比Windows源代码中的符号和系统调用信息

关于WinDiff WinDiff是一款功能强大的Windows二进制源代码安全分析与调试工具&#xff0c;该工具完全开源&#xff0c;基于Web实现其功能&#xff0c;可以帮助广大研究人员在不同版本的操作系统中浏览和对比Microsoft Windows二进制文件的符号、类型和系统调用信息。其中&…