【发布时间】:2008-11-24 12:28:45
【问题描述】:
Windows 编程:如何将经常访问的文件放入操作系统缓存中?
【问题讨论】:
-
为什么你认为操作系统内部/自动缓存机制还不够?
-
我会说“读一次”,它应该已经在缓存中了,不是吗?
Windows 编程:如何将经常访问的文件放入操作系统缓存中?
【问题讨论】:
免责声明:我在 Windows 下工作不多
在一般情况下,您不应该弄乱您的操作系统缓存。它应该足够聪明,可以缓存经常访问的数据。如果不是,您应该使用应用程序级缓存。我不知道您使用的是哪种语言,但很可能有适合您的语言的良好缓存框架。
【讨论】:
如果您在 .net 中并且文件是 dll,请查看 Global Assembly Cache (GAC)。
【讨论】:
如果您的文件被频繁访问并且不是太大,那么它已经在许多不同的缓存中。您的语言运行时(例如 CRT)缓存、文件系统缓存(或者我假设您对“操作系统缓存”的意思)和您的 HDD 缓存。
如果您的文件很小且被频繁访问但仍未在缓存中,则说明文件不够小或访问频率不够高。您可能能够解决第一个问题,但不要尝试解决第二个问题,因为这基本上意味着其他文件的访问频率比您的访问频率更高,而且很可能是有原因的。例如,用户宁愿使用其他应用程序而不是您的应用程序。相信我,这是可能的,而且会发生。
【讨论】: