Buffer(缓冲)、Cache(缓存)

Buffer

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

用完之后,就清除了

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

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

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

Cache

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

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

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

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

总结

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

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

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

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

buffer:用完之后,就清除了

相关推荐
milanyangbo1 小时前
从同步耦合到异步解耦:消息中间件如何重塑系统间的通信范式?
java·数据库·后端·缓存·中间件·架构
像风一样自由20203 小时前
Redis与MinIO:两大存储利器的区别与联系
数据库·redis·缓存·minio
无心水3 小时前
【中间件:Redis】4、Redis缓存实战:穿透/击穿/雪崩的5种解决方案(附代码实现)
redis·缓存·中间件·缓存穿透·缓存雪崩·分布式缓存·redis缓存问题
爱吃烤鸡翅的酸菜鱼4 小时前
【Java】基于策略模式 + 工厂模式多设计模式下:重构租房系统核心之城市房源列表缓存与高性能筛选
java·redis·后端·缓存·设计模式·重构·策略模式
milanyangbo4 小时前
从局部性原理到一致性模型:深入剖析缓存设计的核心权衡
开发语言·后端·缓存·架构
pipip.6 小时前
Redis vs MongoDB:内存字典与文档库对决
数据库·redis·缓存
信仰_27399324318 小时前
RedisCluster客户端路由智能缓存
java·spring·缓存
兰雪簪轩18 小时前
仓颉语言内存布局优化技巧:从字节对齐到缓存友好的深度实践
java·spring·缓存
漠然&&20 小时前
实战案例:用 Guava ImmutableList 优化缓存查询系统,解决多线程数据篡改与内存浪费问题
java·开发语言·缓存·guava
IT小哥哥呀21 小时前
MyBatis 性能优化指南:Mapper 映射、缓存与批量操作实战
缓存·性能优化·mybatis·数据库优化·批量插入·分布式系统·sql性能