是否可以暂时忽略Laravel-Lang缓存



我构建了一个有趣的翻译系统,它读取我的应用程序中的所有trans()/Lang::get()调用,并在resources/lang中的本地化文件中显示它们以及它们的当前翻译,这样管理员用户就可以输入新的翻译,从而动态更新单个本地化文件。

一切都按预期进行,但有一个小麻烦:每次发送表单和更新本地化文件时,页面都会重新加载(通过redirect()->route()调用,而不是例如redirect()->back()),但大多数时候,即使文件已经正确更新,它仍然显示旧信息。

如果我刷新,更改会在0.5-5秒后显示,这让我认为这是缓存问题。所以问题是:当我在翻译系统中时,我可以触发语言缓存忽略吗?或者有其他更聪明的方法吗?我确实试着睡了几秒钟,但这让用户体验有点糟糕。

我遇到了同样的问题。

我在控制器中添加了睡眠和信息,以从js额外刷新页面。

sleep(2);
return back()->with("refresh","yes");

然后在我看来:

@if (session('refresh'))
<script>
    location.reload(true);
</script>
@endif

我知道这是一个愚蠢的解决方案,但它有效。如果有人知道更好的方法,请给我写一条评论。

最新更新