💡 功能聚焦:插件的持久缓存

💾 性能和稳定性的缓存维护

该系统具有中心性、持久性缓存机制(simple_plugin_cache)、外部 API-Aufrufe(例如 Wetter、Übersetzungen 等)等。 Der Cache ist 持久,d.h.请重新启动 Haupt-Services 服务。

Ziel: Reduzierung der Netzwerklast 和 Failover auf die letzte bekannte Antwort bei einem API-Ausfall。


1. 缓存活动(Der Standardfall)

在缓存中的功能,请使用“get_cached_result”和“set_cached_result”导入功能。

1.1 导入和配置

Fügen Sie diese Zeilen zu Ihrem Plugin-Skript hinzu (z.B. weather.py):

代码_块_0

1.2 在“执行”块中缓存逻辑

请参阅以下代码:PrüfenAusführenSpeichern

代码_块_1


2. Spezielle Caching-Fälle

A. Permanentes 缓存(Ewiger Cache)

Wenn ein Ergebnis niemals ablaufen soll(z.B. eine API-URL,die sich nicht ändert),lassen Sie den ttl_seconds 参数 einfach weg。

代码_块_2

B. Wichtige Hinweise zum key_args

key_args 参数必须是 Tupel sein 和 alle Werte enthalten,die das Ergebnis der Funktion beeinflussen (z.B. ('Berlin', 'de'))。

Der Mechanismus wandelt automatisch pathlib.Path-Objekte in Strings um, bevor der Cache-Schlüssel Generiert wird, um Probleme zu vermeiden.