这几天线上各种内存溢出,后来费了老大劲用profile看了下,原来是模板缓存的问题,默认缓存为LocalCache,而此cache为无限存储。正好项目上会根据条件把很多模板代码拼接以及填充数据后继续调用模板解析等,也就说给beetl的模板都是在变化的,导致LocalCache一直在缓存。后来自己用ehcache写了个cache解决。 默认缓存是否可以考虑用ehcache限制大小和过期时间用LRU策略?
这个确实是问题,如果模板无限多,现在只能重新实现LocalCache,根据某些算法完成,比如ecahce,或者cafine的等,根据大小,读写时间等,
我建议你用cafine吧,可以淘汰不怎么使用的模板,保留高频率使用模板
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论