抱歉主题名称不好,我想不出更好的事情;)
我正在制作一个新闻广播网站项目,并且利益相关者要求我为每篇文章创建一个独特的html文件并将其保存在磁盘上而不是使用像mysql这样的dbms,因此用户可以直接访问该文件并且不需要计算,因此在这种情况下不会有任何瓶颈。 我这样做了 而我的问题是,这是(他问我)在编程方面的一个好的和受欢迎的做法吗? 有什么优点和缺点?
谢谢大家,对不起我的英文写作不好:P
答案 0 :(得分:2)
如果你有一个模板并且可以自动生成这些页面,那么这可能是一个很好的做法。就像你说的,它会阻止你的服务器生成页面。它只需要通过普通页面。
如果您需要更改布局或需要编辑文章,您可以重新生成页面。
虽然很多网页总是有一些动态内容,比如日期,用户信息或其他会话或时间特定数据,但这种情况很常见。在这种情况下,您无法缓存整个页面。当然,你可以将两者结合起来。拥有动态索引页面和首页,只缓存实际文章本身。但我在你的问题中读到,这就是你现在所做的。
优点:
缺点:
但是有些网络托管公司完全专注于提供静态内容。静态内容也可以是来自内存的服务器,使其比APC缓存的动态内容更快,所以如果你真的真的需要性能,是的,这是要走的路。但我非常怀疑你这样做。
答案 1 :(得分:1)
绝对不是一种常见的做法,我不会这样做。特别是出于瓶颈的原因 - 你不会有任何瓶颈。也没有任何性能问题。您的网站可能获得多少独立访问者?成千上万?
事实上,从磁盘读取更可能是一个问题。数据库操作可以优化,缓存在内存中等 - 数据库服务器执行各种优化。另一方面,您每次都读取文件(或自己处理缓存)。
通常和首选的方法是:
答案 2 :(得分:1)
静态页面适用于小型网站。如果你有机会,那就去吧,但如果你需要复杂的操作,动态页面结构应该是可行的方法。
对于文章网站,我会选择动态网页,因为这个概念是动态的(您需要更新网站,添加新文章,或者添加评论,用户活动等新功能)。
直接从管理面板添加/删除/编辑文章更容易,使用静态页面,您必须通过html代码找到自己的方式。
列表会继续......
答案 3 :(得分:1)
如果没有一个不太合适的模板系统,你必须将完整的文章和页面布局和样式存储在一个文件中。
这意味着,很难在所有已发布的文章中更新外观,如果您想查询文章列表并返回列表(例如那些形成特定作者或特定类别),你也有点卡住了。
答案 4 :(得分:1)
如果您认为它可以替代您的数据库:不,那不是很好的实践。你丢失了很多信息,以后编辑页面也会更难设置索引搜索功能,......
如果您将其视为缓存解决方案:那么是的,这是一种很好的做法,也是一种常用技术。但想想如何进行缓存,何时用新版本替换文件,只有少数写入访问和对页面的大量读取访问(这是典型的文章网站^^)
答案 5 :(得分:0)
我开始问自己,为什么利益相关者可能会要求您以这种方式实施系统。只要您的系统满足要求,他/她为什么要关心?对此有两种可能的答案:
从这个角度来看,你将如何解决这个问题?我的看法是你需要深入了解利益相关者为何要求这样做。他有一些真正的担忧吗?你能解决系统设计中的问题吗?
底线是“这是最佳实践”并不是这里的首要标准。可以说,“客户想要的东西”或“客户需要的东西”更为重要。
我认为你需要做的是: