刷新 SharePoint Server 中的 BLOB 缓存

适用于:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

BLOB 缓存是基于磁盘的缓存,其中存储了二进制大型对象 (BLOB),例如经常使用的图像、音频和视频文件以及其他被用来显示网页的文件。 每个 SharePoint 前端服务器维护自己的 BLOB 缓存。 当您启用 BLOB 缓存时,即指定了要包含在缓存中的文件类型以及 BLOB 缓存的位置。 首次请求 BLOB 文件时,会将该文件从数据库复制到前端服务器上的 BLOB 缓存。 然后,针对同一文件的前端服务器的未来请求将从存储在 BLOB 缓存中的文件提供,而不是从数据库提供。 这将减少网络通信量和数据库服务器上的负载。

有关 BLOB 缓存的详细信息,请参阅 规划 SharePoint Server 中的缓存和性能

刷新 BLOB 缓存

刷新 BLOB 缓存时,即会清除 Web 应用程序的 BLOB 缓存中的内容。 如果 BLOB 缓存变得与内容不同步,此功能将非常有用。 例如,还原内容数据库后,BLOB 缓存将与内容不同步。 要纠正此情况,您必须刷新 BLOB 缓存。 下面的过程描述了如何刷新 Web 应用程序的 BLOB 缓存。

警告

刷新 Web 应用程序的 BLOB 缓存将会影响 Web 应用程序中的所有网站集。

注意

不能使用用户界面刷新 BLOB 缓存。 而是使用 Microsoft PowerShell 和 SharePoint 对象模型来完成此任务。

刷新 BLOB 缓存

  1. 确认您具有以下成员身份:
  • SQL Server 实例上的 securityadmin 固定服务器角色。

  • 要更新的所有数据库上的 db_owner 固定数据库角色。

  • 运行 PowerShell cmdlet 的服务器上的 Administrators 组。

  • 添加至少具有以上最小权限的成员。

    管理员可以使用 Add-SPShellAdmin cmdlet 授予使用 SharePoint Server cmdlet 的权限。

    注意

    [!注意] 如果您不具有这些权限,请联系您的安装管理员或 SQL Server 管理员来请求权限。 有关 PowerShell 权限的更多信息,请参阅权限和 Add-SPShellAdmin

  1. 复制以下代码并粘贴到文本编辑器(如记事本)中。
$webApp = Get-SPWebApplication "<WebApplicationURL>"
[Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp)
Write-Host "Flushed the BLOB cache for:" $webApp
  1. WebApplicationURL> 替换为<要清除其 BLOB 缓存的 Web 应用程序的 URL。

  2. 保存该文件,并将其命名为 FlushBLOBCache.ps1。

    注意

    可以使用其他文件名,但是必须将文件保存为文件名为 .ps1 的 ANSI 编码文本文件。

  3. 打开“SharePoint 命令行管理程序”

  4. 转到保存该文件的目录。

  5. 在 Microsoft PowerShell 命令提示符处,键入以下命令。

./FlushBLOBCache.ps1

另请参阅

其他资源

使用 Windows PowerShell 编写脚本