Redis数据类型之Hash类型及操作 1.Hash类型及操作 简介
2.相关命令列表[重在融汇贯通和如何快速运用]
Hash命令语法格式及说明表一 命令原型 时间复杂 度 命令描述返回值 HSET key field value O(1)
HEXISTS key fieldO(1)
HEXISTS key field O(1)
HLEN key O(1)
Hash命令语法格式及说明表二 命令原型时间复杂度命令描述返回值HDEL key field [field ...]O(N)
实际删除的Field 数量HSETNX key field valueO(1)
1表示新的Field 被设置了新值, 0表示Key或Field已经存在,该命令没有进行任何 操作HINCRBY key field incrementO(1)
返回运算后的值。HGETALL keyO(N)
Field/Value的列表
Hash命令语法格式及说明表三 命令原型时间复杂度命令描述返回值HKEYS key O(N)
Field的列表HVALS key O(N)
Value的列表HMGET key field [field ...] O(N)
返回和请求 Fields关联的一 组Values,其返 回顺序等同于 Fields的请求顺 序HMSET key field value [field value ...] O(N)
/>redis-cli
redis 127.0.0.1:6379>hset myhash field1 "stephen"
(integer) 1
redis 127.0.0.1:6379>hget myhash field
redis 127.0.0.1:6379>hget myhash field2
(nil)
redis 127.0.0.1:6379>hset myhash field2 "liu"
(integer) 1
redis 127.0.0.1:6379>hlen myhash
(integer) 2
redis 127.0.0.1:6379>hexists myhash field1
(integer) 1
redis 127.0.0.1:6379>hdel myhash field1
(integer) 1
由于上一条命令已经将其删除,因为没有删除,返回0
redis 127.0.0.1:6379>hdel myhash field1
(integer) 0
由于上一条命令已经将其删除,因为没有删除,返回0
redis 127.0.0.1:6379>hdel myhash field1
(integer) 0
由于上一条命令已经将其删除,因为返回0
redis 127.0.0.1:6379>hexists myhash field1
(integer) 0
因为该字段已经被删除,所以该命令添加 成功并返回1
redis 127.0.0.1:6379>hsetnx myhash field1 stephen
(integer) 1
因为本条命令不做任何操作后返回0
redis 127.0.0.1:6379>hsetnx myhash field1 stephen
(integer) 0
redis 127.0.0.1:6379>del myhash
(integer) 1
redis 127.0.0.1:6379>hset myhash field 5
(integer) 1
redis 127.0.0.1:6379>hincrby myhash field 1
(integer) 6
redis 127.0.0.1:6379>hincrby myhash field -1
(integer) 5
redis 127.0.0.1:6379>hincrby myhash field -10
(integer) -5
redis 127.0.0.1:6379>del myhash
(integer) 1
redis 127.0.0.1:6379>hmset myhash field1 "hello" field2 "world"
OK
redis 127.0.0.1:6379>hmget myhash field1 field2 field3
1) "hello"
2) "world"
3) (nil)
redis 127.0.0.1:6379>hgetall myhash
1) "field1"
2) "hello"
3) "field2"
4) "world"
redis 127.0.0.1:6379>hkeys myhash
1) "field1"
2) "field2"
redis 127.0.0.1:6379> hvals myhash
1) "hello"
2) "world"
...