2009-01-24 94 views
2

在处理用户输入的标记时,您可以使用任何建议。 wiki或降价。我有两个CPU &数据库空间成本,所以我不知道要走哪条路。在数据库&即时渲染标记或存储html?

  1. 商店标记渲染 HTML服务器为每个网页浏览上。 (较少的数据库空间,但更多的CPU使用率)的数据库&

  2. 商店标记渲染 HTML使用JavaScript在客户端上。 (可能更难以实现)

  3. 商店只是在 数据库&转换回如果需要 编辑来标记呈现的HTML。 (再一次,可能很难实现)。

  4. 将两个html &标记存储在 数据库中。 (双倍数据库空间)。

  5. 别的东西。

(我正在使用MFC & Linqtosql)。

回答

7

我会将它作为Wiki标记存储在数据库中,然后将转换后的HTML输出保存在Web服务器缓存中的内存中。无论您使用哪种Web技术,都应该支持这一点 - 一个基本的元组(hashtable),用于输入url,或id或类似内容。

+0

击败我,为你+1。 – 2009-01-24 13:08:09

1

我会存储标记并呈现html服务器端。您可以使用服务器端缓存来减少您执行的实际计算量,并且您可以保留具有合理语义的表示,并且可以在需要时将其呈现为text/html/pdf。

1

最简单的方法是在渲染时间戳中存储标记并将其按需显示在缓存中(可能在磁盘上或在memcached中)。这样,您可以检查是否需要再次渲染,因为标记已更改或仅提供缓存的HTML。这是大多数Ruby on Rails应用程序/ CMS的工作方式。

1

我会将它作为RST标记存储在数据库中,并根据需要转换为HTML。由于您可能使用前端(例如JSP,PHP,Django或其他呈现模板语言的其他语言),因此额外的RST处理不会引入太多开销。

在决定实现一个复杂的缓存机制之前,实际上会测量将标记渲染为HTML的实际开销。

“(更少的数据库空间,但更多的CPU使用率)”不是一个衡量的事实,这是一个假设,可能会变成不正确。