常用操作
Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。
相当于在key中又有k-v型(STRING-STRING),并且key是无序,不可重复的
HSET key field value
将哈希表 key 中的字段 field 的值设为 value 。
HGET key field
获取存储在哈希表中指定字段的值。
HGETALL key
获取在哈希表中指定 key 的所有字段和值
HKEYS key
获取所有哈希表中的字段
HLEN key
获取哈希表中字段的数量
HMGET key field1 [field2]
获取所有给定字段的值
HMSET key field1 value1 [field2 value2 ]
同时将多个 field-value (域-值)对设置到哈希表 key 中。
HSETNX key field value
只有在字段 field 不存在时,设置哈希表字段的值。
HDEL key field1 [field2]
删除一个或多个哈希表字段
HEXISTS key field
查看哈希表 key 中,指定的字段是否存在。
HINCRBY key field increment
为哈希表 key 中的指定字段的整数值加上增量 increment 。
案例1
127.0.0.1:6379> HSET BIGDATA HADOOP HDFS+MAPREDUCE
(integer) 0
127.0.0.1:6379> HSET BIGDATA SPARK RDD
(integer) 0
127.0.0.1:6379> HSET BIGDATA STORM TOPOLOGY
(integer) 0
127.0.0.1:6379> HSET BIGDATA FLINK DAG
(integer) 0
127.0.0.1:6379> HGET BIGDATA STORM
"TOPOLOGY"
127.0.0.1:6379> HGET BIGDATA HADOOP
"HDFS+MAPREDUCE"
127.0.0.1:6379> HKEYS BIGDATA
1) "HADOOP"
2) "SPARK"
3) "STORM"
4) "FLINK"
127.0.0.1:6379> HLEN BIGDATA
(integer) 4
127.0.0.1:6379> HMGET BIGDATA HADOOP SPARK STORM
1) "HDFS+MAPREDUCE"
2) "RDD"
3) "TOPOLOGY"
127.0.0.1:6379> HMSET BIGDATA HERON TOPOLOGY S4 UNKONW
OK
127.0.0.1:6379> HGETALL BIGDATA
1) "HADOOP"
2) "HDFS+MAPREDUCE"
3) "SPARK"
4) "RDD"
5) "STORM"
6) "TOPOLOGY"
7) "FLINK"
8) "DAG"
9) "HERON"
10) "TOPOLOGY"
11) "S4"
12) "UNKONW"
案例2
127.0.0.1:6379> EXISTS BIGDATA
(integer) 1
127.0.0.1:6379> HSETNX BIGDATA HADOOP HM
(integer) 0
127.0.0.1:6379> HGET BIGDATA HADOOP
"HDFS+MAPREDUCE"
127.0.0.1:6379> HDEL BIGDATA HADOOP
(integer) 1
127.0.0.1:6379> HSETNX BIGDATA HADOOP HM
(integer) 1
127.0.0.1:6379> HGET BIGDATA HADOOP
"HM"
127.0.0.1:6379> HEXISTS BIGDATA HADOOP
(integer) 1
127.0.0.1:6379> HSET BIGDATA COMPUTING 3
(integer) 1
127.0.0.1:6379> HINCRBY BIGDATA COMPUTING 5
(integer) 8
127.0.0.1:6379> HGET BIGDATA COMPUTING
"8"