题目
Redis 有什么作用?为什么要用 Redis
答案
@[toc]
---
> 如果项目中有用到 Redis 的话,最好结合你的项目来说哈
## 加入缓存后的数据处理流程

1. 如果用户请求的数据在缓存中就直接返回数据
2. 缓存未命中的话就看数据库中是否存在
3. 数据库中存在的话就返回数据并将该数据写入到缓存中
4. 数据库中也不存在的话就返回空数据
## 缓存的收益和成本分析
**收益**(使用缓存的好处):
- 加速读写:缓存通常都是全内存的(例如 Redis、Memcache),而存储层通常读写性能不够强悍(例如 MySQL),通过缓存的使用可以有效地加速读写,优化用户体验
- 降低后端负载:帮助后端减少访问量和复杂计算(例如很复杂的SQL语句),在很大程度降低了后端的负载
**成本**:
- 数据不一致性
- 代码维护成本
- 运维成本
