缓存

设置缓存

可以在服务”设置” – “缓存”中设置本服务是否开启缓存,以及缓存的条件: Cache1.png

清除缓存

通过管理界面清除缓存

可以在服务”设置” – “缓存” – “清理”功能中清理一组URL对应缓存: Cache-Purge1.png

通常是每行一个URL。如果你在缓存条件中修改了Key的生成方式,也需要在这里做出对应的修改。

“根据前缀”的选项让我们可以轻松删除一组带有同样前缀的缓存URL: Cache-Purge2.png 这样以下URL缓存都会被自动清理:

https://example.com/book/1.html
https://example.com/book/2.html
https://example.com/book/3.html
https://example.com/book/4.html
...
https://example.com/book/xxx.html

通过PURGE方法清除单个缓存

v0.3.3以后,可以通过PURGE方法清除单个URL对应的缓存:

  1. 先在服务”设置” – “缓存”设置里选中”允许PURGE”,然后手工填入PURGE Key或者留空保存后自动生成;
  2. 使用PURGE方法请求你要清除缓存的URL,并加入X-Edge-Purge-Key Header,值为步骤1中生成的PURGE Key
    PURGE https://example.com/index.html HTTP/1.1
    Edge-Purge-Key: ...
    ...
    提交成功后,缓存就会被自动清除。

通过API批量清除缓存

v0.3.3以后,要想通过API清除缓存,需要:

  1. 设置API节点支持REST方式调用:API节点设置
  2. 获取访问令牌

然后调用API节点的 /ServerService/PurgeServerCache 在Header中加入获取到的令牌:

POST http://192.168.1.100/ServerService/PurgeServerCache HTTP/1.1
X-Edge-Access-Token: hGyDUHo9CiszUaTxf... THIS IS ACCESS TOKEN ...
Content-Type: application/json
...

然后在内容中传递对应参数即可:

{
  "domains": [
	"cdn.teaos.cn"
  ],
  "keys": [
	"https://cdn.teaos.cn/hello",
	"https://cdn.teaos.cn/world"
  ],
  "prefixes": []
}
其中:

  • domains - 为要清除缓存的服务的域名列表
  • keys - 要清除的缓存的Key,默认是URL,和prefixes二选一
  • prefixes - 要清除的缓存的Key前缀,和keys二选一

如果你有多个API节点,需要在每个API节点都调用这个API。