定义

字典
散列表

哈希冲突

负载因子 = 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. 存储对象

    1. # 存储用户信息
    2. 127.0.0.1:6379> HMSET User:10001 name Joe age 20 sex male
    3. OK
    4. # 修改单个属性
    5. 127.0.0.1:6379> HSET User:10001 age 25
    6. (integer) 0
    7. # 获取单个属性
    8. 127.0.0.1:6379> HGET User:10001 age
    9. "25"
    10. # 获取多个属性
    11. 127.0.0.1:6379> HMGET User:10001 name age
    12. 1) "Joe"
    13. 2) "25"

    String对比

    1. 127.0.0.1:6379> SET role:10001 '{["name"]:"Joe",["sex"]:"male",["age"]:25}'
    2. OK

    2. 购物车