虽然缓存的最终目的为了提高性能,但缓存写的技术与缓存读的技术有很大的不同。但如果它带来的数据丢失危险很大,那么,就是一个不可接受的方案。因此,安全地将数据保存在非易失存储中是很重要的,因为这样数据就可以长期地保存。虽然读缓存技术用于读操作时可以提高系统性能,但当用于新产生数据的写操作时,却产生了一些有趣的问题。

目前,用于缓存实现的大部分存储器都是易失型存储器,因此,当断电的时候,所有缓存的数据都将丢失。为了避免这个问题,一种专为缓存而特别设计的存储器已经面世,这种特制的存储器内嵌后备电池,经常用于磁盘子系统,以保证在某一指定时间内供电和数据存储。其他类型的非易失内存也已经生产出来,如闪存,但由于它们价格相对较高、性能较低及使用寿命有限等,通常不被用作缓存内存。

下面考虑使用L R U的示例,并假定某个应用正在更新数据。由于在缓存中可能存储了过时数据。这里过时数据是指被存储的数据,但不表示最新的版本。当应用修改数据时,过时的数据也必须要修改,无论它存放在哪里—在磁盘上,或者在磁盘和缓存内存里。图显示了两种情况:第一种情况是数据仅存放在磁盘上;第二种情况是数据既存放在磁盘上,也存放在缓存内存中。


8/21/2012 9:00:05 AM

相关文章: