主要是因为 Redis 具备「高性能」和「高并发」两种特性。
1、Redis具备高性能
假如用户第一次访问 MySQL 中的某些数据。
这个过程会比较慢,因为是从硬盘上读取的。
将该用户访问的数据缓存在 Redis 中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了,操作 Redis 缓存就是直接操作内存,所以速度相当快。
![图片[1]-有MySQL为什么还要有Redis-编程社](https://cos.bianchengshe.com/wp-content/uploads/2024/05/image-26.png?imageMogr2/format/webp/interlace/1/quality/100)
如果 MySQL 中的对应数据改变的之后,同步改变 Redis 缓存中相应的数据即可,不过这里会有 Redis 和 MySQL 双写一致性的问题,后面我们会提到。
2、 Redis具备高并发
单台设备的 Redis 的 QPS(Query Per Second,每秒钟处理完请求的次数) 是 MySQL 的 10 倍,Redis 单机的 QPS 能轻松破 10w,而 MySQL 单机的 QPS 很难破 1w。
所以,直接访问 Redis 能够承受的请求是远远大于直接访问 MySQL 的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容