失效链接处理 |
【缓存】面试题 PDF 下载
相关截图:
主要内容:
什么是缓存?
:这个问题,理解即可。
缓存,就是数据交换的缓冲区,针对服务对象的不同(本质就是不同的硬件)都可以构建缓存。
目的是,把读写速度慢的介质的数据保存在读写速度快的介质中,从而提高读写速度,减少时间消耗。例如:
CPU 高速缓存 :高速缓存的读写速度远高于内存。
CPU 读数据时,如果在高速缓存中找到所需数据,就不需要读内存
CPU 写数据时,先写到高速缓存,再回写到内存。
磁盘缓存:磁盘缓存其实就把常用的磁盘数据保存在内存中,内存读写速度也是远高于磁盘的。
读数据,时从内存读取。
写数据时,可先写到内存,定时或定量回写到磁盘,或者是同步回写。
为什么要用缓存?
正如在 「什么是缓存?」 问题中所看到的,使用缓存的目的,就是提升读写性能。而实际业务场景下,更多的是
为了提升读性能,带来更好的性能,更高的并发量。
日常业务中,我们使用比较多的数据库是 MySQL ,缓存是 Redis 。一起来看看,阿里云提供的性能规格:
Redis 性能规格,https://help.aliyun.com/document_detail/26350.html 。打底 8W QPS ,最高可达千万
QPS 。
MySQL 性能规格 https://help.aliyun.com/document_detail/53637.html 。打底 1.4K QPS ,最高 7W QPS
。
如此一比较,Redis 比 MySQL 的读写性能好很多。那么,我们将 MySQL 的热点数据,缓存到 Redis 中,提升读
取性能,也减小 MySQL 的读取压力。例如说:
论坛帖子的访问频率比较高,且要实时更新阅读量,使用 Redis 记录帖子的阅读量,可以提升性能和并发。
商品信息,数据更新的频率不高,但是读取的频率很高,特别是热门商品。
|