返回

Redis命令详解:Hashs

见解分享

在Redis中,Hash是一种以String类型的field、value的映射表,因此,它非常适合存储对象。在本篇文章中,我们将一一介绍与Hash相关的命令。

HDEL命令

HDEL命令用于删除指定key的指定的一个或多个field。如果指定的field不存在于指定的key中则会被忽略,如果指定的key不存在,会当做空Hash来处理。

语法

HDEL key field [field ...]

参数

  • key:要操作的Hash的key。
  • field:要删除的field。

返回值

  • 被删除的field的个数。

HGET命令

HGET命令用于获取指定key的指定field的值。如果指定的field不存在于指定的key中则会返回nil,如果指定的key不存在,会当做空Hash来处理。

语法

HGET key field

参数

  • key:要操作的Hash的key。
  • field:要获取值的field。

返回值

  • 指定field的值。

HGETALL命令

HGETALL命令用于获取指定key的所有的field和value。如果指定的key不存在,会当做空Hash来处理。

语法

HGETALL key

参数

  • key:要操作的Hash的key。

返回值

  • 一个包含所有field和value的数组。

HSET命令

HSET命令用于设置指定key的指定field的值。如果指定的key不存在,则会创建一个新的Hash。

语法

HSET key field value

参数

  • key:要操作的Hash的key。
  • field:要设置值的field。
  • value:要设置的值。

返回值

  • 1,如果field是Hash中的一个新field。
  • 0,如果field已经是Hash中的一个存在的field,且它的值已被更新。

HSETNX命令

HSETNX命令用于设置指定key的指定field的值,只有当该field不存在时才会设置成功。如果指定的key不存在,则会创建一个新的Hash。

语法

HSETNX key field value

参数

  • key:要操作的Hash的key。
  • field:要设置值的field。
  • value:要设置的值。

返回值

  • 1,如果field是Hash中的一个新field,且设置成功。
  • 0,如果field已经是Hash中的一个存在的field。

HINCRBY命令

HINCRBY命令用于对指定key的指定field的值进行增量操作。如果指定的field不存在于指定的key中则会被创建,如果指定的key不存在,会当做空Hash来处理。

语法

HINCRBY key field increment

参数

  • key:要操作的Hash的key。
  • field:要进行增量操作的field。
  • increment:要进行增量的值。

返回值

  • 增量后的field的值。

HLEN命令

HLEN命令用于获取指定key的Hash的field的个数。如果指定的key不存在,会当做空Hash来处理。

语法

HLEN key

参数

  • key:要操作的Hash的key。

返回值

  • Hash的field的个数。

HMGET命令

HMGET命令用于获取指定key的指定多个field的值。如果指定的field不存在于指定的key中则会返回nil,如果指定的key不存在,会当做空Hash来处理。

语法

HMGET key field [field ...]

参数

  • key:要操作的Hash的key。
  • field:要获取值的field。

返回值

  • 一个包含所有field的值的数组。

HSTRLEN命令

HSTRLEN命令用于获取指定key的指定field的值的长度。如果指定的field不存在于指定的key中则会返回0,如果指定的key不存在,会当做空Hash来处理。

语法

HSTRLEN key field

参数

  • key:要操作的Hash的key。
  • field:要获取值的field。

返回值

  • 指定field的值的长度。