You need to enable JavaScript to run this app.
导航
配置缓存键值
最近更新时间:2023.06.01 19:22:44首次发布时间:2023.06.01 19:22:44

视频点播支持在域名管理中配置缓存键值。本文为您介绍缓存键值的功能以及如何通过添加规则来配置缓存键值。

功能介绍

在缓存文件时,视频点播使用缓存键值(cache key)来标记每个缓存中的每个文件。每个缓存键值包含了文件的 URI。URI 也包含 URI 的参数部分。例如,某个缓存文件的缓存键值是 /volcano.png?version=1

在视频点播收到用户请求时,会使用请求的 URI 来匹配缓存中的缓存键值。如果匹配成功,则表示缓存命中。如果匹配失败,视频点播向源站发起内容请求。

适用范围

缓存键值适用于自定义源站加速域名。

配置场景

默认情况下,视频点播在缓存文件时,会包含用户请求中的所有 URI 参数。但是在有些场景中,某些 URI 参数并不是用来区分文件的。这些 URI 参数往往被用作其他用途,例如鉴权。此时,为了提高视频点播的命中率,减少回源,您需要配置缓存键值。在缓存键值的配置中指定需要忽略的 URI 参数。下面我们使用一个场景来举例说明。
假设您有以下场景:

  • 用户请求中的 URI 参数有 version,token 以及一些其他参数。
  • 在您的站点配置中,只有 version 参数是用来区分文件的。例如 /volcano.png?version=1 与 /volcano.png?version=2 是两个不同的文件。

此时,您可以配置缓存键值。在缓存键值的配置中指定仅保留 version 参数。
假设在您配置后,一个用户请求的 URI 是 /volcano.png?version=1&token=12345。在视频点播从源站获取该文件并缓存后,该文件在缓存中的键值是 /volcano.png?version=1
此时如果另一个用户请求的 URI 是 /volcano.png?version=1&token=4567809&hello=world。在视频点播处理该请求时,会使用 /volcano.png?version=1 作为缓存键值去匹配缓存中的文件,其余的参数都会忽略。此时缓存命中,视频点播就将缓存的文件发送给用户。
如果您没有配置缓存键值,该文件在缓存中的键值会是 /volcano.png?version=1&token=12345。对于另一个用户的请求,视频点播会使用 /volcano.png?version=1&token=4567809&hello=world 去匹配。由于无法匹配缓存中的文件,视频点播会回源去获取文件。

默认缓存键值规则

  • 如果您不配置任何缓存键值规则,系统会使用默认的缓存键值规则。该默认规则出现在规则列表中,而且不能被删除,如下图所示。

    alt

  • 默认规则指定了视频点播保留所有 URI 参数。规则的生效范围是加速域名下的所有文件。您不可以更改生效范围,但是可以修改 URI 参数处理方式。如果某个用户请求的内容不匹配您配置的任何缓存键值规则,则会匹配系统默认的缓存键值规则。

操作步骤

  1. 登录火山引擎视频点播控制台,进入空间。

  2. 选择左侧导航栏分发加速设置 > 域名管理,进入域名管理页面。

  3. 选择自定义源站加速域名页签,单击操作列的配置按钮。

  4. 进入自定义源站加速域名配置页面,选择缓存配置页签。

  5. 单击页面下方的修改配置按钮,在缓存键值下方,根据自身业务需求,单击添加规则按钮,进行规则配置。规则的详细说明如下表示。

    说明

    支持最多可以添加 50 条状态码缓存。

    参数说明
    优先级表示规则的优先级。如果有多条规则,则按优先级来执行规则。您可以通过拖拽调整规则的优先级。默认缓存键值规则的优先级是最低的。

    规则类型

    选择一个规则类型。该配置的取值如下:

    • 文件后缀:缓存键值规则应用于特定后缀名的所有文件。
    • 目录匹配:缓存键值规则应用于特定目录下的所有文件。
    • 文件全路径:缓存键值规则应用于特定文件。

    规则

    根据指定的规则类型,输入规则内容。规则内容不能超过 1,024 个字符。你可以输入一个或者多个配置,多个配置以英文分号(;)分隔。

    规则内容是区分大小写的。比如对于文件后缀规则,您输入的配置是 png;txt。此时,是无法匹配 .PNG.Txt 文件的。

    规则内容的要求如下:

    • 如果类型是文件后缀,需要输入一个或者多个文件后缀。比如 xlsx 或者 png;txt。文件后缀只可以包含英文字母和数字。
    • 如果类型是目录匹配,需要输入一个或者多个目录路径。目录路径的输入要求如下:
      • 目录路径必须以反斜杠(/)开头和结尾。比如 /www/img/volc/;/www/doc/。如果要指定加速域名下的所有目录,输入 /
      • 目录路径可以包含可打印 ASCII 字符,以下字符除外:
        • 连续斜杠(//)、百分号(%)、空格。
    • 如果类型是文件全路径,需要输入一个或者多个文件路径。文件路径的输入要求如下:
      • 文件路径必须以反斜杠(/)开头。比如 /www/img/volcano.png;/doc/study.docx
      • 文件路径支持使用通配符(*)表示一个或者多个连续字符。
      • 文件路径可以包含可打印 ASCII 字符,以下字符除外:
        • 连续斜杠(//)、百分号(%)、空格、美元符号($)、问号(?)、Delete(ASCII code 127)。

    参数缓存类型

    指定视频点播在缓存文件和匹配缓存中的文件时,处理请求 URL 中的查询参数的方式。该配置的取值如下:

    • 保留全部参数:保留全部查询参数。
    • 删除全部参数:不保留任何查询参数。
    • 删除部分参数:删除指定的查询参数。
    • 保留部分参数:保留指定的查询参数。

    指定参数

    指定需要要保留或者删除的查询参数。多个查询参数用英文分号(;)分隔。比如 version;size

    • 如果参数缓存类型保留全部参数或者删除全部参数,该参数固定值为 ** 表示全部查询参数。
    • 如果参数缓存类型删除部分参数或者保留部分参数,您可以指定一个或者多个查询参数,但是您不能指定 *。同时,您指定的查询参数不能包含连续斜杠(//)、百分号(%)、空格。

    该配置的默认值是 *

    忽略大小写指定在匹配用户请求的内容时,查询参数是否区分大小写。比如您设置参数缓存类型删除指定参数指定参数为 sign,同时设置 忽略大小写关闭。此时如果用户请求中包含参数 Sign,视频点播判断为大小写不同,触发回源。同时,视频点播在缓存该文件时,保留 Sign 参数。

  6. 完成配置后,单击保存配置按钮。