Redis-为什么要用缓存
为什么要用缓存?
单机MySQL时,数据量不大的情况下,单个MySQL即可应付
瓶颈:
- 数据量太大一个mysql放不下
- 当数据量超过300w时,必须建立索引,索引太大,一个机器放不下
- 访问量上去了,一个服务器承受不了
数据库读写分离
缺陷:
- 针对相同的查询,不应该反复查询数据库,访问量增大,数据库磁盘IO压力也随着增大
加缓存层,减轻读数据库的压力
分库分表+MySQL集群
上面加了缓存和数据库读写分离后,其实数据库现在已经从库是集群部署了,但是写库即我们的主库还是单机的,加了缓存后,数据库读的压力可以分摊了,但是一旦写压力上来了,主库还是承受不住的
- 像早期的数据库使用的myisam引擎,在写数据库的时候,使用的是表锁,十分影响效率
使用缓存可以有效的减轻读压力,将更多的请求在缓存层面完成,减少对后端数据库的访问。
什么是Redis
什么是Redis?
Redis是一个开源的使用ANSI c语言编写的,支持网络,可基于内存也可以持久化的日志型,k-v数据库,也被称为结构化数据库
Redis能干嘛?
- 内存存储,持久化(aof,rdb)
- 效率高,可用于高速缓存
- 发布订阅系统
- 计数器,计时器
- 地理地图分析