buffer和cache的区别

buffer

1.buffer:缓冲区,buffer是为了提高内存和硬盘(或其他I/O设备)之间数据交换速度而设计的。

buffer是根据硬盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。

cache

2.cache:缓存区,cache是为了提高CPU和内存之间的数据交换速度而设计的。

即将经常用到的数据放到缓存区内,方便CPU的读取,从而提高性能。

简单理解下:

buffer是缓冲(缓和冲击),主要通过减少不必要的状态切换和设备I/O来提高性能;

cache是缓存(缓存数据),主要通过将部分数据放到读写速度快的地方,加快取用速度,从而提高性能。

共性:

都属于内存,数据都是临时的,一旦关机数据都会丢失。

差异:

1.buffer是写入数据,cache是读取数据

2.buffer数据丢失会影响数据完整性,源数据不受影响;cache数据丢失不影响数据完整性,但影响性能

3.buffer大小够用就行;cache越大,性能越好

你可能感兴趣的:(buffer和cache的区别)