文章目录
- 一. 针对hash的命令
- 1. hash与string对比
- 2. 命令
- HSET
- HGET
- HEXISTS
- HDEL
- HKEYS
- HVALS
- HGETALL
- HMGET
- HLEN
- HSETNX
- HINCREBY
- HINCREBYFLOAT
- 小结
- 二. hash类型的使用场景
- 缓存方式对比
一. 针对hash的命令
1. hash与string对比
2. 命令
HSET
设置 hash 中指定的字段(field)的值(value)
HGET
获取 hash 中指定字段的值。
HEXISTS
判断 hash 中是否有指定的字段。
HDEL
删除 hash 中指定的字段
HKEYS
获取 hash 中的所有字段。
HVALS
获取 hash 中的所有的值。
HGETALL
获取 hash 中的所有字段以及对应的值
HMGET
⼀次获取 hash 中多个字段的值
hmset是有的, 但是hset就可以一次set多个值
HLEN
获取 hash 中的所有字段的个数
HSETNX
在字段不存在的情况下,设置 hash 中的字段和值
HINCREBY
将 hash 中字段对应的数值添加指定的值
HINCREBYFLOAT
HINCRBY 的浮点数版本。
小结
二. hash类型的使用场景
相比于使用 JSON 格式的字符串缓存用户信息,哈希类型变得更加直观,并且在更新操作上变得更灵活。可以将每个用户的 id 定义为键后缀,多对 field-value 对应用户的各个属性
缓存方式对比
截至目前为⽌,我们已经能够用三种方法缓存用户信息,下⾯给出三种⽅案的实现⽅法和优缺点
分析。
高内聚性: 把有关联的东西放在一起, 最好能放在指定的地方
低耦合性: 两个模块/代码之间的关联关系小, 不容易相互影响