compactraid,既然操作系统层已经提供了page?
虽然操作系统提供了page cache的功能,但是在某些情况下,在应用程序层面添加缓存可以提高性能和可扩展性,甚至是必要的。
首先,操作系统提供的page cache是共享的,所有的应用程序都可以使用它。因此,在高并发环境下,多个应用程序可能会竞争同一个page cache,从而导致互相之间的干扰和竞争。而应用程序自己的缓存可以避免这种竞争。
其次,应用程序自己的缓存可以更好地适应特定的应用程序需求。例如,一个应用程序可能只需要缓存一小部分热门数据,而不是缓存整个文件或数据集。另外,应用程序自己的缓存也可以根据应用程序的使用模式和数据访问模式进行调整和优化,从而提高性能。
最后,应用程序自己的缓存可以提供更高的可靠性和容错性。如果操作系统的page cache出现故障或者需要重启,所有的应用程序都会受到影响。而应用程序自己的缓存可以独立运行,即使操作系统出现问题也能继续提供服务。
因此,在一些特定情况下,在应用程序层面添加缓存可以提高性能、可靠性和可扩展性,这也是为什么一些应用程序需要在自己的代码中添加缓存的原因。