今天介绍一种新的数据类型-哈希,也有的地方叫散列。这种数据格式在工作中还挺常见的,哈希有点类似于编程里面的对象的概念,可以在一个对象里面去定义多组键值对,这多个键值对相当于打包绑定在了一起。
在常见的GUI客户端下面查看哈希的数据显示格式:
哈希常见的操作命令:{key和value只能是字符串类型,不支持再嵌套其他格式数据}
- HSET 为字段设置值
格式:hset key field value [field value ...] 向名称为 key 的 hash 中添加元素
hset user:libo name libo age 29 phone 13522223033 email 11111@qq.com hset user:001 name lico age 23
1、key采用统一的前缀,然后用:区分时,显示的效果会按照前缀进行分组展示
2、使用hset对哈希中单个已存在字段进行覆盖更新时,返回0。
- HSETNX:只在字段不存在的情况下为它设置值
格式:HSETNX hash field value
- HGET:获取字段的值
格式:hget hash field
- HINCRBY:对字段存储的整数值执行加法或者减法的操作
格式:hincrby key field increment
只能针对整数值进行操作,否则会报错:
- HINCRBYFLOAT:对字段存储的数字值(整数/小数都可以)进行浮点数的加减法操作
格式:hincrbyfloat key field increment
- HSTRLEN:获取字段值的字节长度
格式:hstrlen key field
- HEXISTS:检查字段是否存在
格式:hexists key field
hexists user name
- HDEL:删除字段
格式:hdel key field (可以传多个字段,用空格隔开)
hdel user name hdel user name1 name2
- HLEN:获取哈希包含的字段数量
格式:hlen key
hlen user
- HMSET:一次性为一个/多个字段设置值
格式:hmset key field value [field value ...]
hmset user name libo age 29 phone 17665****50
- HMGET:一次获取一个/多个值
格式:hmget key field [field...]
HKEYS:获取所有字段
格式:hkeys key
hkey user
- HVALS:获取所有值
格式:hvals key
- HGETALL:获取所有字段和值
格式:hgetall key
hgetall user
HASH的一些使用场景:
1、购物车的设计
以用户id为key,商品id为field,商品数量为value,恰好构成了购物车的3个要素
哈希这个类型在工作中存储数据经常用到,一些常用的命令要了解一下,避免在工作中用错了。