资讯专栏INFORMATION COLUMN

Redis基础系列-0x004:Hash

zhkai / 2506人阅读

摘要:概述的存储形式大概如下设置或者获取单个值设置单个的获取单个的只有当不存在的时候才设置,否则返回批量添加新的值命令格式批量设置批量获取设置多个属性如果已经存在并且也存在,则会覆盖旧的值如果已经存在但是不存在,将会添加新的值,其他不变判断指定是

0x001 概述

Hash的存储形式大概如下:

key1 field1 value1
field2 value2
key2 field1 value1
field2 value2
0x0002 设置或者获取单个field值
# 设置单个field的value
127.0.0.1:6379> HSET user address here
(integer) 1
# 获取单个field的value
127.0.0.1:6379> HGET user address
"here"
# 只有当field不存在的时候才设置,否则返回0
127.0.0.1:6379> HSETNX user address there
(integer) 0
127.0.0.1:6379> HGET user address
"here"
127.0.0.1:6379> HSETNX user money 0
(integer) 1
127.0.0.1:6379> HGET user money
"0"
0x003 批量添加新的值

命令格式

批量设置:HMSET key field value [field value field value...]

批量获取:HMGET key field value [field value field value...]

# 设置多个属性
127.0.0.1:6379> HMSET user name lyxxxx age 22
OK
# 如果key已经存在并且field也存在,则会覆盖旧的值
127.0.0.1:6379> HMSET user name lyxxxx2 age 222
OK
127.0.0.1:6379> HMGET user name
1) "lyxxxx2"
# 如果key已经存在但是field不存在,将会添加新的field值,其他field不变
127.0.0.1:6379> HMSET user sex male
OK
127.0.0.1:6379> HMGET user sex age
1) "male"
2) "22"
0x004 判断指定field是否存在

命令格式:

判断field是否存在:HEXISTS key field

127.0.0.1:6379> HMSET user name lyxxxx age 22 sex male
OK
127.0.0.1:6379> HEXISTS user name
(integer) 1
127.0.0.1:6379> HEXISTS user work
(integer) 0
0x005 获取key的内容

命令格式:

获取这个key的长度:HLEN key

获取这个key的所有fieldvalueHGETALL key

获取这个key的所有field:HKEYS key

获取这个key的所有value:HVALS key

127.0.0.1:6379> HLEN user
(integer) 3
127.0.0.1:6379> HGETALL user
1) "name"
2) "lyxxxx"
3) "age"
4) "22"
5) "sex"
6) "male"
127.0.0.1:6379> HKEYS user
1) "name"
2) "age"
3) "sex"
127.0.0.1:6379> HVALS user
1) "lyxxxx"
2) "22"
3) "male"

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/36617.html

相关文章

  • Redis基础系列-0x009:事务

    摘要:概述的事务不具备原子性,在事务中,多条命令执行时,如果其中一条或者多条命令执行失败,并不会影响其他命令的执行,之前执行成功的命令也不会回滚,而之后尚未执行的命令将会继续执行。 0x001 概述 redis的事务不具备原子性,在事务中,多条命令执行时,如果其中一条或者多条命令执行失败,并不会影响其他命令的执行,之前执行成功的命令也不会回滚,而之后尚未执行的命令将会继续执行。 0x002 ...

    econi 评论0 收藏0
  • Redis深入系列-0x011:redis-cli--Redis命令行接口(中)

    摘要:交互模式到目前为止,我们探索了如何像使用命令行程序一样使用。命令将会发送到服务端,运行完成之后将会返回并渲染为简单的可阅读性好的输出。如果用户尝试连接一个不可达的实例,将会进入不可连接模式并在每次输入新的命令的时候重新尝试连接一次。 0x001 交互模式 到目前为止,我们探索了如何像使用命令行程序一样使用redis-cli。这种方式在使用脚本或者测试的时候的确是一种好的方式,但是大多数...

    levy9527 评论0 收藏0
  • Redis基础系列-0x006:Set

    摘要:添加一个值命令格式获取的数量命令格式判断是否是的命令格式获取的所有命令格式随机弹出指定数量的元素命令格式移除指定元素命令格式获取指定集合的并集命令格式将指定集合的并集存储到新的命令格式返回指定集合的交集命令格式将指定集合的交集存到新的命令格 0x001 添加一个值 命令格式: SADD key member [member1 member2 ...] SADD goods appl...

    hoohack 评论0 收藏0
  • Redis基础系列-0x003:String

    摘要:设置值并获取命令格式获取指定区间的值命令格式如果不存在,则返回空设置新值,并返回旧的值命令格式如果值不存在,则返回,但是设置的新值是成功的获取多个命令格式不存在的时候才设置的值命令格式获取字符串长度命令格式设置多个键值对命令格式是数字的情况 0x001 设置值并获取 命令格式:SET key | GET key 127.0.0.1:6379> SET name helloworld O...

    thursday 评论0 收藏0
  • Redis基础系列-0x007:Sorted Set

    摘要:添加元素命令格式查看成员的数量命令格式查看某一区间分数的成员数量命令格式查看某一区间索引的数量命令格式查看某一元素的索引命令格式获取某个索引区间的值命令格式获取某个分数区间的值命令格式获取某个索引区间的值命令格式获取某个元素的分数命令格式 0x001 添加元素 命令格式:ZADD score member [score member ...] 127.0.0.1:6379> ZADD...

    newtrek 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<