Redis 的Hash(散列)是一个可以存储多个键值对之间的映射。与String类型一样,
散列存储的值既可以是字符串又可以是数字值,并且用户也可以对散列的数字值进行
自增或自减操作。Hash最适合做的就是存储对象,占用更少的内存空间,并且更方便
整个对象的存取。
***************************************常用命令*****************************************
******hset
设置hash field为指定值,如果key不存在,则先创建。
语法:
hset hash_table_name(key) filed value
hset为设置命令,hash_table_name为hash表的名称,field为hash表中一个字段,value为field字段对应的值。
eg:
******hget
获取hash表中某个filed对应的值。
语法:
hget hash_table_name field
hget获取hash_table_name表中field属性对应的值。
eg:
******hsetnx
设置hash field的值,如果field不存在,则创建。否则,创建失败,返回0。
语法:
hsetnx hash_table_name filed value
语法含义与set类似。
eg:
******hmset
批量设置hash filed的值,如果field不存在,则创建。
语法:
hmset hash_table_name filed1 value1 field2 value2 field3 value3......
eg:
******hmget
批量获取hash field对应的值,如果key ,filed不能存在,返回nil。
语法:
hmget hash_table_name field1 field2 field3......
eg:
******hincrby
指定hash field加上指定值。
语法:
hincrby hash_table_name(key) field value
eg:
******hexists
检查hash中某个field是否存在。
语法:
hexists hash_table_name field
存在返回1,否则返回0.
eg:
******hlen
返回hash中field的个数。
语法:
hlen hash_table_name
eg:
******hdel
删除hash中的指定field。
语法:
hdel hash_table_name field
eg:
******hkeys
返回hash中所有的field名称。
语法:
hkeys hash_table_name
eg:
******hvals
返回hash中的所有value,即field对应的所有值。
语法:
hvals hash_table_name
eg:
******hgetall
获取hash中的全部field以及对应的value。
语法: hgetall hash_table_name,数据显示形式如下:
field1
value1
field2
value2
.........
eg: