同步查询KvCache
功能介绍
用于查询 EMS 缓存池中是否存在已保存的 KVCache 数据块,查询结果将以表 CcResult形式返回。
接口约束
- 同步接口:接口会休眠阻塞。
- 加速卡限制:仅支持华为昇腾加速卡显存查询。
- 异常处理:若 KVCache 数据块查询超时或失败,接口返回0命中,框架将重新进行计算。
方法定义
ContextCaching.exists(hashes, option, **kwargs)
请求参数说明
|
参数名称 |
参数类型 |
是否必选 |
描述 |
|---|---|---|---|
|
hashes |
List[int] |
是 |
参数解释: 预计算的块前缀哈希列表。 约束限制: 无。 取值范围: 无。 默认取值: None。 |
|
option |
否 |
参数解释: ContextCaching访问内存池的KV操作选项。 约束限制: 不能为None。 取值范围: 无。 默认取值: 无。 |
|
参数名称 |
参数类型 |
是否必选 |
描述 |
|---|---|---|---|
|
write_rcache |
bool |
可选 |
参数解释: 是否将本次写入保存为本地读缓存,默认值为True。 约束限制: 无。 取值范围: True:将本次写入保存为本地读缓存 False:不将本次写入保存为本地读缓存 默认取值: True |
|
read_local_only |
bool |
可选 |
参数解释: 是否只读本地缓存,如果置为True,则不会从其他节点读取数据,只有读流程生效。 约束限制: 无。 取值范围: True:只读本地缓存 False:优先读本地缓存,如果本地未命中,则从其他节点读取数据 默认取值: False |
|
timeout |
int |
可选 |
参数解释: 请求超时时间,单位为毫秒。 约束限制: 无。 取值范围: 大于等于0。 默认取值: 5000 |
返回结果说明
|
类型 |
说明 |
|---|---|
|
参数解释: Context Caching访问内存池的执行结果。 取值范围: 无。 |
代码样例
# 设置请求的超时时间
option = CcKvOption(timeout=5000)
# 组成参数列表
hashes = [0xABCD, 0x1234]
# 可以根据不同异常,采取不同处理方式,例如超时错误可以重试。
try:
cc_result = cc.exists(hashes = hashes, option = option)
except EmsException as e:
print(f"failed to exists, {e}.")
exit(2)
print(cc_result)