概要:Redis的hash数据类型是key-value模式,其中value是一个键值对。
常用命令:
hset key field value:向key中添加元素,元素的键为field值为value;若field存在,将覆盖原有值
示例:hset myHash name zhangsan:向myHash中添加元素,键为name值为zhangsan
hget key field:取出key中键field对应的值
示例:hget myHash name:取出myHash中name对应的值,结果为"zhangsan"
hlen key:获取key中field的个数
示例:hlen myHash:获取myHash中field的数量
hexists key field:判断指定key中field是否存在,存在返回1,不存在返回0
示例:127.0.0.1:6379[1]> hexists myHash name --返回1,说明存在
127.0.0.1:6379[1]> hexists myHash name2 --返回0,说明不存在
hel key field [field...]:删除一个或多个字段
示例:127.0.1.1:6379[1]> hdel myHash name3 name2 --删除myHash中删除name3和name2这两个字段
hsetnx key field value:当key中不存在field时,则插入field值为value,若存在,则插入失败
示例:127.0.0.1:6379[1]> hsetnx myHash name1 zahngsan
(integer) 1
127.0.0.1:6379[1]> hget myHash name1
"zahngsan"
127.0.0.1:6379[1]> hsetnx myHash name1 zhangsan
(integer) 0
hincrby key field increment:当hash中field对应的value值为数值时,对value进行加减操作;increment>0时表示增加,increment<0时表示减小
实例:127.0.0.1:6379[1]> hget myHash age
"22"
127.0.0.1:6379[1]> hincrby myHash age -5 --将age减5,结果变为17
(integer) 17
127.0.0.1:6379[1]> hincrby myHash age 6 --将age加6,结果变为23
(integer) 23
批量添加key/value的hash操作命令
hmset key field value [field value ...]:向key中批量添加field-value键值对
实例:127.0.0.1:6379[1]> hmset myHash name zhangsan age 23 --向myHash中添加name-zhangsan和age-23两个键值对
OK
hmget key field [field ...]:获取多个field的值
实例:127.0.0.1:6379[1]> hmget myHash name age --批量获取name和age两个字段的值
1) "zhangsan"
2) "23"
hgetall key:获取key中所有键值对
实例:127.0.0.1:6379[1]> hgetall myHash
1) "name"
2) "zhangsan"
3) "age"
4) "23"
5) "height"
6) "176"
hkeys key:获取key中所有的field
实例:127.0.0.1:6379[1]> hkeys myHash
1) "name"
2) "age"
3) "height"
hvals key:获取key中所有field对应的value的值
实例:127.0.0.1:6379[1]> hvals myHash
1) "zhangsan"
2) "23"
3) "176"