# 💡 功能亮点:持久插件缓存 ## 💾 缓存以提高性能、可靠性和网络效率 该系统现在提供了一个中央持久缓存机制(“simple_plugin_cache”),旨在减少外部网络负载(例如天气、翻译 API)并加速执行。缓存是**持久的**,这意味着条目在服务重新启动后仍然存在。 **目标:** 减少网络流量,防止 API 滥用,并在外部服务中断期间提供快速回退响应。 --- ### 1. 基本缓存实现(TTL 驱动) 要缓存函数的结果,您需要跨三个块实现核心逻辑:**检查**、**执行**和**存储**。 #### 1.1 导入和配置 添加必要的导入并在插件脚本中定义生存时间(TTL)常量(例如“weather.py”): __代码_块_0__ #### 1.2 `execute` 块中的缓存逻辑 在进行任何网络调用之前,“execute”函数必须首先尝试检索缓存的结果。 __代码_块_1__ --- ### 2. 高级缓存模式 #### A. 永久(永恒)缓存 如果结果应该**永不过期**(例如,静态配置查找),请完全省略“ttl_seconds”参数。 __代码_块_2__ #### B. 缓存键(`key_args`)要求 * `key_args` 必须是一个**元组**,包含定义结果的所有变量(例如,`(city, language, unit_system)`)。 * 缓存机制自动将常见的非JSON可序列化的Python对象(例如**`pathlib.Path`**)转换为字符串以用于密钥生成。