将html模板组件存储在数据库中


Storing html template components in a database

我正在寻找一个解决staright forward问题的方案:

有一些模板分为两种类型:1.图像2.text

我将这些部分称为模板的组件,其值由用户输入。图像组件可以有一个链接,与之相关的alt文本。文本组件可以有纯文本或一些html行。这些组件的值用于呈现模板的最终输出。

每个模板可能有大约5-10个组件,这对于其他模板来说可能不常见,比如:

pageTitle
tagline
firstParagraph
buttonText
headerImage     -   Image Component
firstImage      -   Image Component

因此,简单的计算表明:

  • 1页=1个模板
  • 1个用户可以拥有>1页
  • 每个模板可以有5-10个组件

因此,如果我将其存储为:

COMPONENT   TYPE        VALUE         LINK
pageTitle   text        Hello world
tagline     text        tagline here
headerImage image       image.jpg     http://example.com

它可以是任何数量的用户,所以假设10000个页面在一个数据库中有>10000*10个组件!!

我们如何才能减少参赛作品的数量并获得最佳表现?更好的模式?是否序列化?Json?基于文件的系统?或者其他什么。。。能做些什么?

提前感谢!

100k条记录不是一个大数字,大多数数据库都可以处理这个数字

如果有这么多用户(页面),您提到的任何解决方案都将花费大量资源

在构建这样的东西时,需要记住一些事情:

  • 内存表非常适合快速读取,所以如果你有很多ram我会考虑在innodb中有两个表,这样如果你的服务器崩溃时,您将能够重建内存表伟大的事业,你可以重新扮演
  • 还要确保使用索引。您需要确保
    where语句中的所有内容都在索引中,然后尝试如果可能的话,让你所有的索引都是数字。也许有要在表格中重复很多的文本在另一个表格中表,这样您就可以在表中使用它所需的数字
  • 另一件对我有帮助的事情是,同样的页面将更频繁地被命中,因此将缓存在一定时间内构建的页面应该会有所帮助表现良好

希望能有所帮助。