1.什么是缓存

缓存(cache) 这个概念,最早是出现在 计算机硬件设计 中。
比如 cpu cache,是用于减少处理器访问内存所需平均时间的部件。该部件的容量小于内存,但速度比内存高很多,接近处理器的频率。

如上图示,在 计算机硬件设计中
当处理器(cpu)发送内存访问请求时,先查看缓存中是否有请求数据,
如果存在(命中),则不访问内存直接返回该数据;
如果不存在(未命中),则先把内存中的数据存入缓存,再将其返回处理器

由于缓存速度高于内存速度,因此能整体提高计算机的性能。


由于该设计思路的优秀,在 计算机软件设计中 中,就借鉴了该思路来提高系统性能,如下图示:

如上图示,整体思路跟硬件设计中是一样的。
内存的读写速度远大于磁盘的读写速度,将常用的数据缓存在内存中,提高访问速度,能提高服务的整体性能

在计算机软件系统的,内存的类型大概有以下几种类型:
1. 分布式缓存:当出现大流量、高并发时,数据库(db) 性能常常成为瓶颈,
这时常会引进分布式缓存来缓解 db 的压力。常见的有redis,memcached

2. 进程内缓存(本地缓存):由于分布式缓存会有网络开销,在对性能极高要求的场景下,
分布式缓存可能无法满足性能要求,于是就有了 本地缓存。
本地缓存的有点是少了网络开销,节省了内网宽带,有更低的响应延迟,能满足更高业务性能的需求。
缺点是多个应用之间无法共享缓存,且难以保持进程内缓存的一致性

3. 语言级的缓存:有的动态语言会有语言级的缓存,如php

4. cdn缓存,http缓存,web浏览器缓存
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值