Thymeleaf 什么是可缓存模板?
Thymeleaf 什么是可缓存模板?,thymeleaf,Thymeleaf,我正在学习Thymeleaf,不明白什么是可缓存模板。 你能给我解释一下它们是什么和用法吗? Thanx默认情况下,为thymeleaf启用缓存,因此所有页面都被缓存 Thymeleaf模板引擎将在处理已解析的模板之前存储这些模板,因此,如果有更改,则只有在重新读取/解析文件(例如重新部署、重新启动)后才能看到这些更改 这实际上非常方便,特别是在繁重的web应用程序中(许多页面大小不同),否则每次更改都会重新读取所有页面(这是简单的输入/输出操作,需要花费时间),尽管大多数页面永远不会更改 配置
我正在学习Thymeleaf,不明白什么是可缓存模板。
你能给我解释一下它们是什么和用法吗?
Thanx默认情况下,为thymeleaf启用缓存,因此所有页面都被缓存 Thymeleaf模板引擎将在处理已解析的模板之前存储这些模板,因此,如果有更改,则只有在重新读取/解析文件(例如重新部署、重新启动)后才能看到这些更改 这实际上非常方便,特别是在繁重的web应用程序中(许多页面大小不同),否则每次更改都会重新读取所有页面(这是简单的输入/输出操作,需要花费时间),尽管大多数页面永远不会更改 配置模板引擎时,可以显式禁用缓存
templateResolver.setCacheable(false)代码>
使用禁用的缓存,修改thymeleaf页面后,您只需在web浏览器中重新加载页面并查看更改,因此对于每一次更改,thymeleaf都将解析模板并立即加载到应用程序中。同样,它将重新加载应用程序中的所有页面,而不是已更改的单个页面
也可以通过以下方式清除单个模板的缓存:
templateEngine.clearTemplateCacheFor(“/test”)代码>模板在第一次使用时只解析一次,结果是
所有的解析都被缓存以供后续使用。这是生产的一大特点,,
因为它可以防止对每个请求进行冗余模板解析,从而提高
表演
然而,这个特性在开发时并不是那么棒。假设你开枪了
打开应用程序,点击taco设计页面,决定做一些更改
去吧。刷新web浏览器时,仍将显示原始版本。
您可以看到更改的唯一方法是重新启动应用程序,这非常简单
不方便。
有一种方法可以禁用缓存。您所需要做的就是将templateproperty缓存属性设置为false
要启用/禁用模板缓存的属性:
所有这些属性都设置为true以启用缓存。您可以禁用
通过将所选模板引擎的“缓存”属性设置为false,为其缓存。对于
例如,要禁用Thymeleaf缓存,请在application.properties中添加以下行:嘿。谢谢你的回复。如果您不介意并且有时间,您能给我看一些关于Thyemeleaf缓存的更多文档或页面吗?我真的很想知道更多。再次感谢你。