美文网首页
缓存架构:缓存有什么作用?

缓存架构:缓存有什么作用?

作者: 栢鸽 | 来源:发表于2019-05-10 19:28 被阅读0次

我们编程中遇到各式各样的缓存。但你了解缓存是用来干嘛的吗?

一、缓存是什么?

维基百科的定义:

  • 缓存:存储在计算机上的一个原始数据复制集,以便于访问。

简单地说,缓存就是一种快速响应的技术。比如,CPU的高速缓存。学过操作系统的同学,一定对下图特别熟悉,CPU多级缓存。CPU CACHE存在的目的就是为了解决CPU的频率与内存访问速度的不一致。


image.png

二、缤纷烦乱的缓存

既然cpu缓存的目的是消除cpu频率与内存访问的速度不一致,那网络系统中的缓存的目的是什么?


image.png

看上图,我们将上图的缓存分为三种。

1.客户端缓存

我们知道每次网络请求都是毫秒级,而将访问的结果缓存在本地可以将速度提升数个数量级,并且也减少了服务侧的压力。例如我们的DNS就会缓存在浏览器中,一些js等静态文件浏览器也可能会缓存。所以客户端缓存的主要目的是减少对那些读多写少的数据的网络访问。

2.服务端本地缓存

上图CPU的多级缓存,一般的教科书上还会在Main memroy下在扩展一层--持久化层。而持久化层的访问通常是毫秒级的,所以通常,我们会通过本地缓存来缓存一些读多写少的热点数据。比如nginx的缓存,数据库的查询缓存。

3.分布式缓存

我们一般将数据持久化到DB中(大数据,日志,大文件一般由其他持久化中间件支撑),而很多对DB的访问请求是非常耗时的,这种情况在高并发的网络环境尤为明显。而分布式缓存的一个主要应用场景就是缓存读多写少的DB数据,或者一些耗时非常久的复杂运算数据。

三、总结

缓存的原理就是将数据副本存入速度更快的存储设备,将数据放到与使用者更近的位置。

最后祭上我的xmind。


image.png

相关文章

  • 缓存架构:缓存有什么作用?

    我们编程中遇到各式各样的缓存。但你了解缓存是用来干嘛的吗? 一、缓存是什么? 维基百科的定义: 缓存:存储在计算机...

  • 分布式缓存 | 内容总览

    理论基础篇 什么是缓存? 缓存的应用场景; 从架构的发展看缓存的使用;单体;集群;微服务; 缓存有哪些分类,每个都...

  • java中常用的几种缓存类型介绍

    在平时的开发中会经常用到缓存,比如locache、redis等,但一直没有对缓存有过比较全面的总结。下面从什么是缓...

  • java中常用的几种缓存类型介绍

    在平时的开发中会经常用到缓存,比如locache、redis等,但一直没有对缓存有过比较全面的总结。下面从什么是缓...

  • 架构系列-缓存篇

    缓存是什么? 为什么要用缓存? 常用缓存有哪些?优缺点对比? 缓存的应用场景

  • 面向对象——缓存机制.md

    缓存 今天,学习了缓存,突然发现缓存有巨大的作用,可以节省流量,而且看到很多工作要求,发现需要有开发缓存的经验。所...

  • 查询缓存

    query_cache 主要是针对select查询语句的结果进行缓存。缓存有效期为表数据有所改动时,对应的表缓...

  • Linux之HAProxy

    互联网架构基础知识 一、网站常见架构 负载层 页面缓存层 web层 数据层 二、运维法则 缓存为王 尽量在前端(缓...

  • 前端优化 (浏览器缓存)

    浏览器缓存作用 加快页面打开速度 减轻服务器压力 减少网络损耗 浏览器缓存有两种方式: 1、mate标签 2、he...

  • Java的缓存框架ehcache

    JVM内置缓存。流程大致就是,查询某个数据,先查询缓存有没有,没有就查数据库,然后把数据添加到缓存,如果缓存有,就...

网友评论

      本文标题:缓存架构:缓存有什么作用?

      本文链接:https://www.haomeiwen.com/subject/msdzoqtx.html