You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询joblib.Memory缓存中所有已缓存结果对应的入参列表

基于joblib.Memory查询已缓存函数的所有入参方法

你可以直接调用缓存后函数的内置存储接口读取所有已缓存的入参,不需要重新执行函数,也不需要手动解析缓存文件,效率很高:

from joblib import Memory
mem = Memory(location='cache', verbose=0)

@mem.cache
def slow_func(x):
    return x

# 示例写入几个缓存
slow_func(1)
slow_func(2)
slow_func("test")

# 查询所有已缓存的入参
cached_x_list = []
for item in slow_func.store_backend.get_items():
    # 提取位置参数x的值
    cached_x = item.args[0]
    cached_x_list.append(cached_x)

print(cached_x_list) # 输出:[1, 2, 'test']

补充说明

  • 如果你的函数包含关键字参数,可以调用item.get_arguments()获取包含所有位置参数、关键字参数的字典,再按需提取对应参数即可
  • 该方法直接读取缓存元数据,哪怕缓存条目过万也不会有性能问题
  • 读取出来的参数和你调用函数时传入的参数完全一致,不需要额外做类型转换

内容的提问来源于stack exchange,提问作者SultanOrazbayev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:15:02