如果我从 UNC 网络共享读取文件,Windows 会缓存该文件的部分内容吗?
例如:如果我逐字节读取整个文件,每次读取调用会导致网络请求,还是 Windows 会在内部读取更大的块,并从内存中提供后续请求?
如果我从 UNC 网络共享读取文件,Windows 会缓存该文件的部分内容吗?
例如:如果我逐字节读取整个文件,每次读取调用会导致网络请求,还是 Windows 会在内部读取更大的块,并从内存中提供后续请求?
如果我理解正确,文件的内容可能会被缓存。
为了确保所有读取都将针对实际文件而不是从任何系统缓冲区或磁盘缓存中完成,可以FILE_FLAG_NO_BUFFERING
在调用CreateFile时使用。
您还可以使用禁用共享资源的缓存net share <sharename> /cache:none