Cache的三种方式

Write-through cache

把数据写入到cache,然后再写入到存储上
直接把数据写入到cache,并且在主机确定写入完成前,就把相应的数据写入到底层的存储上永久保存。这种方法可以确保数据可以安全地更新到存储上。

但是这种方法有一个缺点,例如:一个共享的存储阵列,但是这种类型的cache还是会受到底层存储的I/O速度限制而对性能造成影响。

Write-through cache这种方式适合写入数据,然后从cache里面顺序读取数据的应用,它能够降低读延迟。

Write-around cache

直接把输入写入存储,绕过cache
与write-through cache类似,但是它是直接写入到存储,而绕过了cache。这对于一边写,一边非顺序读取的情况下,就会减少刷新缓存的次数。

这有一个缺点,就是当如果需要读取刚刚写入的信息时,需要从存储中读取,这速度比从cache中读取慢很多。

Write-back cache

直接把数据写入cache,不保证一定写入到存储
这是一种直接写入得cache,并且立马向主机汇报已经写入完成。

因为它是低延迟和高吞吐量的,所以适合写入密集型程序。

但是写入的数据有一定的危险性,因为可能只是写入到cache中,并没有写入到存储中。如果用户需要用这种方式,就要通过其他手段去确保你需要写入的数据是真正已经写入到存储中,避免数据的丢失。

这种类型的存储适合读和写都有差不多响应时间的应用。