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