Redis Flushall

分享此信息,以防其他人在管理面板中看到“正在更新”的提示,但实际上并无更新在进行,且论坛其他方面运行正常时有所帮助。

虽然这从未影响 Docker 管理器的更新,但在过去几个版本中,我不得不通过命令行界面(CLI)进行更新,因为管理面板始终显示 Discourse 正在更新。

我的论坛规模较小,没有自定义插件。

解决该问题的方法是清除 Redis 缓存。

虽然无法透露根本原因,但达到我对 Discourse 更新流程知识和理解的上限确实令人非常沮丧(这不是抱怨,而是坦诚承认)。

在此之前,重建应用(rebuild app)一直是解决几乎所有问题的可靠方法。

Redis 还存储用户会话以及更多内容。完全清空 Redis 会导致所有用户登出,并删除所有待处理的 Sidekiq 任务。已排期的任务仅会在下次重启后恢复。

这应仅作为最后手段,即便如此,我也建议您先查明具体是哪个键导致问题,而不是直接执行 flushall。这就像为了消灭一只老鼠而将整个建筑付之一炬。