💡 功能亮点:持久插件缓存¶
💾 缓存以提高性能、可靠性和网络效率¶
该系统现在提供了一个中央持久缓存机制(“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**)转换为字符串以用于密钥生成。