在 modx 革命中清除缓存的系统设置

Clearing cached system settings on modx revolution

我有一个片段可以通过更新和保存 modSystemSetting 对象来更新一些系统设置。我注意到旧设置仍然来自缓存。

清除缓存有效:

$cacheManager = $modx->getCacheManager();
$cacheManager->clearCache();

但这会清除整个缓存,这是不好的。我怎样才能只清除更新的设置?清除所有系统设置也可以。

检查 modcachemanager.class.php 中的 refresh 函数,查看每个 $providers.
对于 system-settings 尝试从 $cacheManager->generateConfig() 开始,然后从那里看。也许您需要的不仅仅是系统设置,例如 context settings 等。

如果您更进一步,请使用自定义缓存结帐。您可以删除缓存中的特定键 $cacheManager->delete($key)。请参阅 Programmatic (Custom) Caching