gpt4 book ai didi

database - 优化 : use local files or databases for HTML

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:34 24 4
gpt4 key购买 nike

这是从 this question 开始的假设我使用文件存储我的 HTML 模板,我在那里得到了一些答案。

最近我一直将“编译”模板保存为目录(根目录之上)中的 html 文件。我的模板通常有两种类型的变量——“静态”变量,它们不会在每次使用时被替换,而是在整个站点中使用——基本上是为了便于维护,例如,如果我决定更改站点名称;以及在每次页面加载时发生变化的动态变量。

我过去常常将这些作为文件保存在服务器上 - 但我的 friend 指出了我忽略的一件事:当您可以调用一个数据库时,为什么要调用 5-10 个文件系统?

我想知道哪个效率更高?从系统调用多个 HTML 文件或从数据库调用多行模板(在一次查询/调用中)。

最佳答案

不要在数据库中存储可编辑的 HTML

说真的,因为一旦您意识到您不能再只是弹出一个文本编辑器,单纯更改的维护开销就会变得非常庞大。

我参与过许多在数据库中包含 HTML 内容的项目,“找到内容所在的那一行”一直是我的噩梦,我真的很想开枪那个人做好了。

此外,不要过早优化。如果你发现它是一个拖慢项目速度的问题,那么就改变它。因为为了节省一毫秒而使代码难以维护。但是将代码设计得足够好,如果您以后需要更改内容的来源,应该很容易做到。

Surely that can be resolved by having a suitable web interface for editing the templates?

嗯,真的不是,除非你只是想与记事本竞争。语法高亮和标准编辑器中可以获得的所有其他完整功能只会让您的开发人员在编辑网页时自杀不必担心实体编码等,例如,尝试在 html 内容包含文本区域元素的文本区域中编辑 html!)

关于文件 IO

虽然文件 IO 可能是一个瓶颈,但请记住,如果您安装了正确的 linux,并且有足够的内存,一个方便的东西称为“磁盘缓存” "生效,这实际上将文件保留在内存中,因此文件 IO 变成了单纯的 memcpy。

相反,在对我使用的任何代码进行的实际压力测试中,最大的减速出现在数据库中!主要是慢速 CONNECT 字符串、查询解析时间、额外的 php<->mysql 交互。你并不是真的想获得任何东西。文件系统查找接近于数据库索引查找,除了“您需要从磁盘流式传输”之外,您没有任何未知数,无需担心表锁定问题!

您可能应该尝试缓存库之类的东西,强烈推荐使用 X-Cache,这更有可能为您带来明显的性能提升。

关于database - 优化 : use local files or databases for HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/292415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com