Cache(缓存)和Buffer(缓冲)

简介:

什么是缓存、缓存区?

        Cache(缓存)是“读”数据时在内存的一种优化技术。

        缓存区就是占用内存中的一块区域来做进程的数据缓存,比如WEB服务,当用户第一次请求时,进程会从磁盘(硬盘)中拿数据(结果),将结果存储到缓存区,当第二次该用户发起同样的请求时,则进程会在缓存区中匹配已经缓存的结果,直接返回数据。内存的读写效率是磁盘的10倍以上。所以该技术增加了进程处理数据的效率,并降低了磁盘IO的使用。


什么是缓冲、缓冲区?

        Buffer(缓冲)是“写”数据时在内存的一种优化技术。

        缓冲区就是占用内存中的一块区域来做进程的数据缓冲,比如上传一个数据(文件),数据由进程处理,进程调用内存持续性的将数据写入磁盘,数据在内存中会被分成大小不均匀的信息数据块持续性的写入磁盘,这种写入磁盘的方式执行效率比较慢,而且因为大小不均会导致磁盘碎片。而Buffer则是对这些大小不均匀的信息数据块流量整形的一项技术,这些数据块首先会存入缓冲区,等待积累的多个数据块占满整个缓冲区大小时,然后从缓冲区写入到磁盘中。所以一般情况下一个缓冲区大小等于系统的分页大小。

        系统的分页大小则就是磁盘的文件系统的存储块大小。如果是Windows系统一般我们在格式化的时候可以看到,即“分配单元大小”。如果是Linux则可以通过“ getconf PAGE_SIZE”命令查看。

本文转自   触动的风   51CTO博客,原文链接:http://blog.51cto.com/10978134/2065067


相关文章
|
1月前
|
缓存 算法 Java
Caffeine Cache~高性能 Java 本地缓存之王
Caffeine Cache~高性能 Java 本地缓存之王
55 1
|
1月前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
|
3月前
|
缓存 NoSQL Java
Spring Cache 缓存原理与 Redis 实践
Spring Cache 缓存原理与 Redis 实践
152 0
|
3月前
|
存储 缓存 NoSQL
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
把ruoyi-vue前后端分离项目的redis缓存改为本地缓存cache
154 0
|
4月前
|
缓存 NoSQL Java
Spring Boot 3 整合 Spring Cache 与 Redis 缓存实战
Spring Boot 3 整合 Spring Cache 与 Redis 缓存实战
|
27天前
|
存储 XML 缓存
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南(一)
【深入浅出Spring原理及实战】「缓存Cache开发系列」带你深入分析Spring所提供的缓存Cache功能的开发实战指南
62 0
|
1月前
|
缓存 NoSQL Java
spring cache整合redis实现springboot项目中的缓存功能
spring cache整合redis实现springboot项目中的缓存功能
46 1
|
4月前
|
存储 设计模式 Java
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
Mybatis源码细节探究:二级缓存Cache对象是在什么时候创建的?
|
4月前
|
XML 缓存 Java
Android App开发之利用Glide实现图片的三级缓存Cache讲解及实战(附源码 超详细必看 简单易懂)
Android App开发之利用Glide实现图片的三级缓存Cache讲解及实战(附源码 超详细必看 简单易懂)
121 0
|
4月前
|
缓存 Java 关系型数据库
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)
49 0
Spring Boot与Spring中的数据缓存Cache支持与实战(附源码)