【发布时间】:2012-08-16 09:16:38
【问题描述】:
如果我从 UNC 网络共享读取文件,Windows 是否会缓存该文件的某些部分?
例如:如果我逐字节读取整个文件,每次读取调用会导致网络请求,还是 Windows 会在内部读取更大的块,并从内存中提供后续请求?
【问题讨论】:
标签: file-io samba unc shared-directory netbios
如果我从 UNC 网络共享读取文件,Windows 是否会缓存该文件的某些部分?
例如:如果我逐字节读取整个文件,每次读取调用会导致网络请求,还是 Windows 会在内部读取更大的块,并从内存中提供后续请求?
【问题讨论】:
标签: file-io samba unc shared-directory netbios
如果我理解正确,文件的内容可能会被缓存。
为了确保所有读取都针对实际文件而不是从任何系统缓冲区或磁盘缓存中完成,可以在调用 CreateFile 时使用 FILE_FLAG_NO_BUFFERING。
您还可以使用 net share <sharename> /cache:none 禁用共享资源的缓存
【讨论】: