如何手动清除模板缓存

jfinal 模板都自动缓存了,如何才能手动清除呢。

比如,线上环境的某个页面有改动,直接把这个模板扔上去覆盖原来的,但是模板还是读的缓存内容

评论区

JFinal

2017-09-04 11:28

在 configEngine(Engine engine) 中通过 engine.setDevMode(true) 以后,模板的改动会实时生效,所以也就不需要手动清了。这个方法几乎不影响性能,因为模板仍然会缓存,只是在加载前去判断模板有没有被改动过,没有被改动则使用缓存

还有一个方法是调用 engine.removeCache(key) 来清缓存,或者使用 engine.removeAllCache() 清所有

JFinal

2017-09-04 11:32

jfinal.com 官方网站是在配置文件用了一个:
engineDevMode=true

来单独配置的 engine 的 devMode,具体用的时候这样:
public void configEngine(Engine me) {
me.setDevMode(p.getBoolean("engineDevMode", false));
}

这样配置的好处是 devMode 与 configConstant(Constants me) 中的 me.setDevMode(...) 这个配置独立开来,如果不在 configEngine 中独立配置,则 configEngine 对应的 engine 对象将使用与 configConstant 中一样的 devMode 值

一言蔽之是:configEngine 中的 engine 对象默认使用与 configConstant 中一样的 devMode 值,当在 configEngine 中再次指定过该值的,自然就以独立指定的为准

热门反馈

扫码入社