目录
一、简介
Redis 的 hash与java的map类似,用于存储string类型的key、value映射,很适合存储同类对象。
二、命令大全
- HDEL
, 删除key下的一个或多个field
- HEXISTS
,判断key下field是否存在
- HGET
, 获取key下field的值
- HGETALL
, 获取key下所有键值对。
- HINCRBY
,增加key下field值,增量为increment
- HINCRBYFLOAT
, 增加key下field
- HKEYS
,获取key下所有key
- HLEN
,获取key下键值对数量
- HMGET
, 获取key下多个field值
- HMSET
, 设置key下多个field值
- HSET
,设置key下field值
- HSETNX
, 设置key下field值,只有key不存在才生效
- HSTRLEN
, 获取key下field的值,字符串长度
- HVALS
, 获取key所有的value。
三、实际使用
- 有时需要将某些数据存储在redis中,比如产品,,一种方式用string存储,将前缀-产品id作为key,序列化成字符串做value,这种方式存储时需要序列化,取出时需要反序列化,,还可以将产品的id与每个字段名做key,字段值做value,这种方式会创建太多key,redis对每个key都会存储相应的元信息,比较浪费资源,,
- 利用hash存储产品,每个产品一个key
,
,,这种方式存储每个产品一个key,获取和修改都很轻松
获取field,
修改field,, key会比较多,适用于需要频繁读写具体field的场景
- 利用hash存储产品,一个key存储所有的
,,这种方式将goods的id作为field,goods的json字符串作为value存储,存储所有goods只需要一个key,节省资源,想读写具体field会比较麻烦。