2012-02-19 74 views
0

我要尋找一個解決一個staright向前問題:HTML模板組件

有一些模板,其中又分爲部分兩類: 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頁將有> 10000個* 10組件的分貝!

我們如何擁有更少的條目數和最佳的性能? 更好的架構?序列化? JSON?基於文件的系統?或其他任何東西... 可以做些什麼?

在此先感謝!

回答

0

100K記錄並不是一個大數字,大多數數據庫可以處理這個數字

是否會有這麼多的用戶(頁),你所提到的任何解決方案將花費多少資源

+0

是的,實際存​​儲不是問題,閱讀是問題。閱讀可能非常頻繁,每次有人打開一個頁面時,所有組件都將被提取。而且用戶更新現有值也可以經常進行,因此無法長時間緩存。我正在使用php mysql。 – 2012-02-20 01:21:26

0

好一些注意考慮到建設時是這樣的:

  • 內存表是偉大的快速讀取,所以如果你有大量的RAM 的我會考慮有兩個表的InnoDB的,這樣如果你的服務器崩潰 你會能夠重建你的內存表,這是你可以迴歸的偉大原因。
  • 另外請確保您使用索引。您需要確保
    您的where語句中的所有內容都位於索引中,並嘗試和 使所有索引都是數字(如果可能)。也許有 文本將在表中重複很多,在另一個 表中,所以你可以在它需要的表中使用一個數字。
  • 幫助我的另一件事是更有可能的是相同的頁面將被更頻繁地點擊,所以一種將緩存已經在一段時間內構建的 頁面的緩存應該有助於 的性能好。

希望有幫助。