Buffer(缓冲)、Cache(缓存)

Buffer

用途:缓冲通常用于临时存储数据,以平衡不同速度的数据传输过程直接的差异。它可以用来解决数据传输速度不匹配的问题。
例如: 当您在观看视频时,视频播放器会缓冲一段时间的视频数据,以便在网络速度慢或不稳定的情况下也能够流畅的播放

用完之后,就清除了

工作原理:缓冲区是一个存储区域,用于暂时保存数据,待数据传输速度对齐后再将数据发送出去。在数据传输过程中,如果数据接收速度较快,数据会被存储在缓冲区中,直到接收方准备好接收为止。

数据处理: 缓冲区通常不会对数据进行处理或修改,它只是临时存储数据的容器。

实例应用:在I/O操作中,磁盘缓冲区用于暂时存储数据,以提高读写性能。

Cache

作用: 缓存用于存储已经 计算过或获取过的数据,以便在后续 访问时能够更快地获取数据,从而提高系统的响应速度。 通常,缓存用于存储经常访问的数据,以便在需要的时候能够快速获取。
例如: 当你在浏览器上访问网页时,浏览器会将一些静态文件(image、css、js 等)缓存在本地,以便下次访问相同的网页时能够更快地加载。

工作原理: 缓存会将经常访问的数据复制到更快 的存储介质中,如内存,以便在后续访问时无需再从原始数据源获取。这样能够减少数据访问时间,提高性能。

数据处理:缓存中的数据通常可以根据需要进行处理,以满足特定的访问要求。例如,可以将数据库查询结果存储在缓存中,以减少数据库访问频率。

实际应用:Web浏览器使用缓存来存储已经访问过的网页,以便下次访问同一网页时能够更快地加载。

总结

用途不同:缓冲主要用于平衡数据传输速度差异,而缓存主要用于提高数据访问速度。

数据处理:缓冲不对数据进行处理,只是暂时存储,而缓存可以对数据进行处理以满足特定需求。

存储介质:缓冲通常用于暂时存储数据,存储在相同或类似的介质上,而缓存通常将数据存储在更快的存储介质中,如内存。

数据类型:缓冲可以用于各种数据类型,包括传输中的数据,而缓存通常用于经常被访问的数据。

buffer:用完之后,就清除了

相关推荐
陌上丨1 小时前
Redis内存使用率在95%以上,请问是什么原因?如何解决?
数据库·redis·缓存
dawdo2223 小时前
自己动手从头开始编写LLM推理引擎(9)-KV缓存实现和优化
缓存·llm·transformer·qwen·kv cache
小北方城市网4 小时前
RabbitMQ 生产级实战:可靠性投递、高并发优化与问题排查
开发语言·分布式·python·缓存·性能优化·rabbitmq·ruby
陌上丨4 小时前
什么是Redis的大Key和热Key?项目中一般是怎么解决的?
数据库·redis·缓存
小园子的小菜4 小时前
深入剖析HBase HFile原理:文件结构、Block协作与缓存机制
数据库·缓存·hbase
廋到被风吹走4 小时前
【缓存优化】缓存穿透:布隆过滤器(Guava/RedisBloom)
缓存·guava
Moshow郑锴4 小时前
Spring Boot Data API 与 Redis 集成:KPI/图表/表格查询的缓存优化方案
spring boot·redis·缓存
小马爱打代码4 小时前
MyBatis:缓存体系设计与避坑大全
java·缓存·mybatis
三水不滴5 小时前
SpringBoot+Caffeine+Redis实现多级缓存
spring boot·redis·笔记·缓存
打工的小王18 小时前
redis(四)搭建哨兵模式:一主二从三哨兵
数据库·redis·缓存