缓存管理接口
更新时间:2023-05-16
刷新缓存/查询刷新状态 Purge/GetPurgedStatus
缓存清除方式有URL刷新、目录刷新除。URL刷新除是以文件或一个资源为单位进行缓存刷新。目录刷新除是以目录为单位,将目录下的所有文件进行缓存清除。
Go
1cli := client.GetDefaultClient()
2
3// 刷除
4purgedId, err := cli.Purge([]api.PurgeTask{
5 {
6 Url: "http://my.domain.com/path/to/purge/2.data",
7 },
8 {
9 Url: "http://my.domain.com/path/to/purege/html/",
10 Type: "directory",
11 },
12})
13fmt.Printf("purgedId:%+v\n", purgedId)
14fmt.Printf("err:%+v\n", err)
15
16// 根据任务ID查询刷除状态
17purgedStatus, err := cli.GetPurgedStatus(&api.CStatusQueryData{
18 Id: string(purgedId),
19})
20
21fmt.Printf("purgedStatus:%+v\n", purgedStatus)
22fmt.Printf("err:%+v\n", err)
示例中刷除了两类资源,第一种是刷除一个文件,第二种是刷除某个目录的所有的文件。根据Purge返回的task id去查询任务进度。api.CStatusQueryData
是一个相对较复杂的结构,可以根据不同的条件查询,具体可以查看定义。
预热资源/查询预热状态 Prefetch/GetPrefetchStatus
URL预热是以文件为单位进行资源预热。
Go
1cli := client.GetDefaultClient()
2
3prefetchId, err := cli.Prefetch([]api.PrefetchTask{
4 {
5 Url: "http://my.domain.com/path/to/purge/1.data",
6 },
7})
8fmt.Printf("prefetchId:%+v\n", prefetchId)
9fmt.Printf("err:%+v\n", err)
10
11
12prefetchStatus, err := cli.GetPrefetchStatus(&api.CStatusQueryData{
13 Id: string(prefetchId),
14})
15fmt.Printf("prefetchStatus:%+v\n", prefetchStatus)
16fmt.Printf("err:%+v\n", err)
查询刷新/预热限额 GetQuota
Go
1cli := client.GetDefaultClient()
2quotaDetail, err := cli.GetQuota()
3fmt.Printf("quotaDetail:%+v\n", quotaDetail)
4fmt.Printf("err:%+v\n", err)
quotaDetail
是api.QuotaDetail
类型的对象,详细说明如下:
字段 | 类型 | 说明 |
---|---|---|
DirRemain | int | 当日刷新目录限额余量。 |
UrlRemain | int | 当日刷新(含预热)URL限额余量。 |
DirQuota | int | 刷新目录限额总量。 |
UrlQuota | int | 刷新(含预热)URL限额总量。 |