定义
哈希冲突
负载因子 = used/size;used是数组存储元素的个数,size是数组的长度;
负载因子越小,冲突越小;负载因子越大,冲突越大;
redis的负载因子是1
命令
- HSET
- HSETNX
- HGET
- HEXISTS
- HDEL
- HLEN
- HSTRLEN
- HINCRBY
- HINCRBYFLOAT
- HMSET
- HMGET
- HKEYS
- HVALS
- HGETALL
- HSCAN
存储结构
ziplist:节点数量小于等于512且有一个字符串长度小于64
dict:节点数量大于512 (hash-max-ziplist-entries) 或所有字符串长度大于 64 (hash-max-ziplistvalue)应用
1. 存储对象
# 存储用户信息
127.0.0.1:6379> HMSET User:10001 name Joe age 20 sex male
OK
# 修改单个属性
127.0.0.1:6379> HSET User:10001 age 25
(integer) 0
# 获取单个属性
127.0.0.1:6379> HGET User:10001 age
"25"
# 获取多个属性
127.0.0.1:6379> HMGET User:10001 name age
1) "Joe"
2) "25"
与String对比
127.0.0.1:6379> SET role:10001 '{["name"]:"Joe",["sex"]:"male",["age"]:25}'
OK
2. 购物车