常用的缓存方式

- 全量缓存:
set user:1→select * from user where id = 1 - 部分部分:
set user:1→select name, sex, age from user where id = 1
缓存粒度即为以上问题,是全部缓存,还是部分缓存?我们一般有三个角度进行说明。
三个角度
- 如果是通用性:全量属性更好
- 如果从占用空间考量:部分属性更好
- 全量会造成内存浪费
- 全量会造成网络传输流量较大,存在耗时情况
- 全量数据的序列化与反序列化的 CPU 开销更大
- 从代码维护角度考量:表面上全量属性更好
缓存全部数据与部分数据的对比
| 数据类型 | 通用性 | 空间占用**(内存空间+网络带宽)** | 代码维护 |
|---|---|---|---|
| 全部数据 | 高 | 大 | 简单 |
| 部分数据 | 低 | 小 | 较为复杂 |
