目录
为什么要使用hash散列?
hash散列,一个键里面存储了多对键值对, 如果设置的键过多,就会导致内存耗费的越多,假设一个使用hash的散列里面存储了3对键值对,如果普通方式就是直接写3组键值对传入内存,我们采用创建一个键对应多个键值对的方式节省了很多管理信息的内存
1.传入数据:
由field和value组成map键值对,field和value是字符串类型
key 和里面的map键值对组成新的
创建单个字段: hset(nx) key field value
nx是key不存在的情况下执行
创建多个字段:hmset key field value(field1 value1.....)
返回字段个数:hlen key
判断字段是否存在:hexists key flield 存在返回1,不存在返回0 (别把value加上)
查看下存储的方式:先进先出
2.返回字段
返回字段值: hget key field
返回多个字段值: hmget key field(filed1 ..)
返回所有键值对: hgetall key
返回所有字段名: hkeys key
返回所有值: hvals key
从上到下依次演示:
在字段对应的值上进行整数的增量计算 HINCRBY key field increment
在字段对应的值上进行浮点数的增量计算 HINCRBYFLOAT key field increment
3.删除指定的字段
HDEL key field [field ...]
4.不适合hash的情况
1:使用二进制位操作命令:因为Redis目前支持对字符串键进行SETBIT、GETBIT、BITOP等操作,如果你想使用这些操作,那么只能使用字符串键,虽然散列也能保存二进制数据
2:使用过期键功能:Redis的键过期功能目前只能对键进行过期操作,而不能对散列的字段进行过期操作,因此如果你要对键值对数据使用过期功能的话,那么只能把键值对储存在字符串里面