目录
一、Redis 哈希(Hash)
Redis hash 是一个string类型的 field 和 value 的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 - 1 键值对(40多亿)。
二、增加、查看、删除命令
1.增加
1)将哈希表 key 中的字段 field 的值设为 value 。
hset key field value
2)同时将多个 field-value (域-值)对设置到哈希表 key 中。
hmset key field value [field value ...]
2.查看
1)获取存储在哈希表中指定字段的值。
hget key field
2)获取所有给定字段的值
hmget key field [field ...]
3)获取在哈希表中指定 key 的所有字段和值
hgetall key
3.删除一个或多个哈希表字段
hdel key field [field ...]
示例:
127.0.0.1:6379> hset user1 name zhangsan
(integer) 1
127.0.0.1:6379> hset user1 age 21
(integer) 1
127.0.0.1:6379> hget user1 name
"zhangsan"
127.0.0.1:6379> hgetall user1
1) "name"
2) "zhangsan"
3) "age"
4) "21"
127.0.0.1:6379> hmget user1 name age
1) "zhangsan"
2) "21"
127.0.0.1:6379> hdel user1 age
(integer) 1
127.0.0.1:6379> hgetall user1
1) "name"
2) "zhangsan"
三、获取长度、keys、values
1.获取哈希表中字段的数量
hlen key
2.获取所有哈希表中的字段
hkeys key
3.获取哈希表中所有值
hvals key
示例:
127.0.0.1:6379> hgetall user1
1) "name"
2) "zhangsan"
3) "age"
4) "21"
127.0.0.1:6379> hlen user1
(integer) 2
127.0.0.1:6379> hkeys user1
1) "name"
2) "age"
127.0.0.1:6379> hvals user1
1) "zhangsan"
2) "21"
四、增加 value 的值
1.为哈希表 key 中的指定字段的整数值加上增量 increment 。
hincrby key field increment
2.为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
hincrbyfloat key field increment
示例:
127.0.0.1:6379> hset user1 age 20
(integer) 1
127.0.0.1:6379> hincrby user1 age 1
(integer) 21
127.0.0.1:6379> hincrbyfloat user1 age 0.5
"21.5"
五、判断是否存在
1.如果哈希表含有给定字段,返回 1 。 如果哈希表不含有给定字段,或 key 不存在,返回 0 。
hexists key field
示例:
127.0.0.1:6379> hset user1 name zhangsan
(integer) 1
127.0.0.1:6379> hset user1 age 21
(integer) 1
127.0.0.1:6379> hdel user1 age
(integer) 1
127.0.0.1:6379> hexists user1 name
(integer) 1
127.0.0.1:6379> hexists user1 age
(integer) 0