首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Yii半静态站点的优化

Yii半静态站点的优化
EN

Stack Overflow用户
提问于 2013-02-11 16:50:43
回答 2查看 1.3K关注 0票数 2

我有一个网站,它的网页存储在数据库作为超文本标记语言字符串(用CKEditor生成),使用户可以编辑他们没有超文本标记语言的知识。该网站还广泛使用图片库(用户要求,所以我无法控制它)的每个页面与其图库。这使得网站变得非常慢。我在指南中读到了Yii优化,并做了一些查询缓存,这使加载时间减少了一点,但仍然很慢。

由于页面更新可能需要长达几个月的时间(只有当事情发生变化时),是否有全站Yii缓存技术来模拟静态页面,直到页面被更改?我没有控制安装APC或其他扩展,因为我不是管理员。

任何优化的想法也是受欢迎的。

您可以看到站点here

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-11 17:03:40

虽然很难给您一个“明确的答案”,但您可以做的最简单的事情(除了在Yii's Definitive Guide: Performance中提到的优化之外)就是使用page caching

由于您不能使用APC或memcached,因此我建议您通过CFileCache使用文件缓存来缓存整个页面。一旦它被更新,你就应该通过适当的CacheDependency使缓存无效。我已经通过CActiveRecord的afterSave钩子使用了Flushable cache dependency extension来使缓存失效。它很容易实现,并且可以完成这项工作。

编辑:只是看看你的网站,从菜单判断你正在使用Bootstrap (可能使用Yii-Booster?)。该站点确实非常慢,但这实际上可能是因为扩展在每次请求时都会发布其资产。我曾经在调试模式(当时甚至在禁用调试模式时)使用Yii-Booster发布资产时遇到过这个问题(https://github.com/clevertech/YiiBooster/pull/229)。

票数 3
EN

Stack Overflow用户

发布于 2016-06-07 16:34:56

您可以使用Yii HTML Cache创建页面的完全缓存。它在你的资产中生成html文件,并使用它,直到生命周期结束或你清理你的资产。

您只需安装扩展并向控制器的beforeActionafterRender方法添加几行代码即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14808651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档