Cache(缓存)和Buffer(缓冲)

简介:

什么是缓存、缓存区?

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

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


什么是缓冲、缓冲区?

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

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

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

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


相关文章
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
【Azure Redis 缓存】关于Azure Cache for Redis 服务在传输和存储键值对(Key/Value)的加密问题
|
4月前
|
缓存 弹性计算 NoSQL
【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
【Azure Redis 缓存 Azure Cache For Redis】Redis连接池
|
4月前
|
缓存 Java
Java本地高性能缓存实践问题之使用Caffeine的Cache接口来查找一个缓存元素的问题如何解决
Java本地高性能缓存实践问题之使用Caffeine的Cache接口来查找一个缓存元素的问题如何解决
|
4月前
|
缓存 NoSQL Java
【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
【Azure Redis 缓存 Azure Cache For Redis】Redis出现 java.net.SocketTimeoutException: Read timed out 异常
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
【Azure Redis 缓存 Azure Cache For Redis】如何设置让Azure Redis中的RDB文件暂留更久(如7天)
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入
|
4月前
|
缓存 开发框架 NoSQL
【Azure Redis 缓存】VM 里的 Redis 能直接迁移到 Azure Cache for Redis ? 需要改动代码吗?
【Azure Redis 缓存】VM 里的 Redis 能直接迁移到 Azure Cache for Redis ? 需要改动代码吗?
|
4月前
|
缓存 NoSQL Unix
【Azure Redis 缓存】Azure Cache for Redis 中如何快速查看慢指令情况(Slowlogs)
【Azure Redis 缓存】Azure Cache for Redis 中如何快速查看慢指令情况(Slowlogs)
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
|
4月前
|
存储 缓存 NoSQL
【Azure Redis 缓存】Azure Cache for Redis 专用终结点, 虚拟网络, 公网访问链路
【Azure Redis 缓存】Azure Cache for Redis 专用终结点, 虚拟网络, 公网访问链路