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

这篇具有很好参考价值的文章主要介绍了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”

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

2、HMSET key field value [field value…]

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

HMSET myhash age 18 sex male

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

3、HSETNX key field value

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

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

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

hsetnx myhash username “lisi”

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

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

hsetnx myhash address “china”

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

4、HGET key field

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

hget myhash username

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

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

hget myhash phone

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

5、HGETALL key

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

hgetall myhash

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

6、HMGET key field [field …]

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

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

hmget myhash username password

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

7、HKEYS key

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

hkeys myhash

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

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

hkeys myhash1

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

8、HEXISTS key field

哈希集里的field是否存在

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

hexists myhash username

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

hexists myhash username1

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

9、HLEN key

获取 key 指定的哈希集包含的字段的数量
当key指定的哈希集存在:返回哈希集中字段的数量
当key指定的哈希集不存在:返回 0
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

10、HSTRLEN key field

如果hash或者field存在:返回hash指定field的value的字符串长度。zhangsan长度是8
如果hash或者field不存在:返回0.
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

11、HINCRBY key field increment

increment可正可负。

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

age是18,增加10之后是28。
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

12、HINCRBYFLOAT key field increment

increment是float类型

hincrbyfloat myhash age 10.5

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

13、HDEL key field [field…]

从 key 指定的哈希集中移除指定的字段。在哈希集中不存在的字段将被忽略。
如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,将会报错
示例:address字段存在,因此返回1,address1字段不存在,因此被忽略了。
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

14、用strings还是hash?

例如一张表信息如下

id username password age
1 zhangsan “123456” 18

14.1 用Strings-JSON

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

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

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库
获取user:1的值
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库

14.2 用hash

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

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库
hash,相当于把表的行和列旋转了90度。
Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库
获取值:

Redis命令 - Hashes命令组常用命令,Redis,redis,哈希算法,数据库文章来源地址https://www.toymoban.com/news/detail-809425.html

到了这里,关于Redis命令 - Hashes命令组常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • redis十大数据类型的说明和常用命令

    表1.1 十大数据类型 类型 说明 String (字符串) 最基本的数据类型,可以存储字符串、整数或浮点数 List (列表) 一种有序的字符串列表,支持从两端插入和删除元素 Hash (哈希表) 一种 key-value 存储结构,用于存储对象,类似于关联数组 Set (集合) 一种无序的字符串集合,支持交集

    2024年02月03日
    浏览(38)
  • springboot+redis+mysql+quartz-通过Java操作redis的KEYS*命令获取缓存数据定时更新数据库

    代码讲解: 3-点赞功能-定时持久化到数据库(pipeline+lua)-完善过程2_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1w14y1o7BV 本文章代码: blogLike_schedule/like03 · xin麒/XinQiUtilsOrDemo - 码云 - 开源中国 (gitee.com) https://gitee.com/flowers-bloom-is-the-sea/XinQiUtilsOrDemo/tree/master/blogLike_schedule/like03 数据

    2024年02月15日
    浏览(40)
  • Redis命令---Hash(哈希)篇 (超全)

    可用版本: = 2.0.0 返回值: 如果命令执行成功,返回 OK 。 可用版本: = 2.0.0 返回值: 一个包含多个给定字段关联值的表,表值的排列顺序和指定字段的请求顺序一样。 可用版本: = 2.0.0 返回值: 如果字段是哈希表中的一个新建字段,并且值设置成功,返回 1 。 如果哈希表中域字段

    2024年02月19日
    浏览(34)
  • Redis 数据类型及其常用命令一(string、list、set、zset、hash)

    1、简介         Redis 的常用数据类型有十种,分别为:string、list、set、zset、hash、geo、hyperloglog、bitmap、bitfield、stream。熟练使用各种数据类型,能够快速结合场景进行使用。 注:我们所说的数据类型是指 value 的数据类型,key 都是字符串。 所有类型的命令查看:help @数据类

    2024年03月13日
    浏览(47)
  • Redis扩容机制与一致性哈希算法解析

    在分布式系统设计中,Redis是一个备受欢迎的内存数据库,而一致性哈希算法则是分布式系统中常用的数据分片和负载均衡技术。本文将深入探讨Redis的扩容机制以及一致性哈希算法的原理,同时提供示例代码以帮助读者更好地理解这两个重要概念。 Redis是一种高性能的内存数

    2024年02月11日
    浏览(38)
  • 分布式天梯图算法在 Redis 图数据库中的应用

    Redis是一个高性能的键值对数据库,支持常用的数据结构和分布式操作,被广泛应用于缓存、消息队列和排行榜等场景。除了基本的数据结构,Redis还支持图数据结构并提供了一些算法支持。 天梯图算法是一种基于贪心的图搜索算法,在寻找最短路径问题中具有很高的效率。

    2024年02月14日
    浏览(25)
  • 【超全面】Docker使用:基本安装 + 常用命令 + 安装mysql、redis、clickhouse + 使用数据卷安装 + 制作镜像

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似

    2024年02月01日
    浏览(52)
  • 【Redis】Redis配置以及常用命令

      关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。   SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。   主流的关系型数据库包括 Oracle、MySQL、SQL Se

    2024年02月11日
    浏览(37)
  • Redis数据类型-Hash哈希存储类型

    小白:伟哥,java中的Map集合类型在Redis中有对应的存储吗? 伟哥:有的,我带你撸一波。 Redis的hash哈希存储类型,类似于是java中的map存储结构,适合用来存储对象,每个哈希最多可以存储4294967295(2^32-1)个字段值对,具体数量实际上也受Redis部署的虚拟机上的总内存的限制

    2024年02月12日
    浏览(32)
  • Redis命令 - Zsets命令组常用命令

    可排序的set,可以是有序的。set不是自动有序的。 Sorted set的使用场景与set类似,区别是set不是自动有序的,而sorted set可以通过用户额外提供一个优先级(socre)的参数来为成员排序,并且是插入有序的,即自动排序 使用场景:排行榜、按照用户投票和时间排序。例如班级有

    2024年01月18日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包