繁体   English   中英

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

[英]Storing html template components in a database

我正在寻找解决前瞻性问题的方法:

有一些模板分为两种类型: 1.图片2.文本

我将这些部分称为模板的组成部分 ,其值由用户输入。 图像组件可以具有一个链接,以及与此相关的替代文本。 文本组件可以具有纯文本或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个页面在db中将具有> 10000 * 10个组件!

我们如何才能减少条目数量并获得最佳性能? 更好的架构? 序列化了吗? 杰森 基于文件的系统? 或其他...可以做什么?

提前致谢!

100k条记录不是很大,大多数数据库都可以处理此数目

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

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

  • 内存表非常适合快速读取,因此,如果您有很多内存,我会考虑在innodb中包含两个表,以便在服务器崩溃时能够重建内存表,这很重要,因为您可以角色扮演。
  • 还要确保您使用索引。 你需要确定
    where语句中的所有内容都在索引中,并尽可能使所有索引都是数字。 也许在另一个表中有要在表中重复很多的文本,因此您可以在表中使用需要的数字。
  • 另一个对我有帮助的事情是,相同的页面可能会被更频繁地命中,因此一种缓存类型将缓存在一定时间内构建的页面,这也应该有助于提高性能。

希望能有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM