嗨最快的方式我有一個服務器上運行一個小評吼吼箱型CGI進程,目前當有人評論,我只是格式化成HTML即存儲評論數據蟒蛇
<p class="title">$title</p> <p class="comment">$comment</p>
和商店評論在一個平面文件中。 在LOC中用xml或json重新實現存儲,在我自己的簡單規範中還是堅持使用簡單的html路由,會更快更低嗎?
我不想爲此使用關係數據庫。
嗨最快的方式我有一個服務器上運行一個小評吼吼箱型CGI進程,目前當有人評論,我只是格式化成HTML即存儲評論數據蟒蛇
<p class="title">$title</p> <p class="comment">$comment</p>
和商店評論在一個平面文件中。 在LOC中用xml或json重新實現存儲,在我自己的簡單規範中還是堅持使用簡單的html路由,會更快更低嗎?
我不想爲此使用關係數據庫。
如果一個平面文件足夠快,然後去那,因爲它非常簡單和可訪問。存儲爲XML和JSON,但仍然使用平面文件的性能可能非常可比。
您可能需要考慮(如果您剛剛忽略此問題,請將其忽略)清理/過濾文本,以便用戶無法通過在評論文本中輸入「</p>」。
XML是很好的,乾淨的方式來存儲這種類型的數據。在Python中,你可以使用lxml創建/更新文件:
from lxml import etree
P_XML = 'xml_file_path.xml'
def save_comment(title_text, comment_text):
comment = etree.Element('comment')
title = etree.SubElement(comment, 'title')
title.text = title_text
comment.text = comment_text
f = open(P_XML, 'a')
f.write(etree.tostring(comment, pretty_print=True))
f.close()
save_comment("FIRST!", "FIRST COMMENT!!!")
save_comment("Awesome", "I love this site!")
這是一個簡單的開始,但你可以做更多的事情(即設置爲每個評論的ID,使用LXML解析器在XML閱讀並添加到它而不是僅附加文件)。
平面文件是持久性的最快形式。期。沒有格式化,編碼,索引,鎖定或任何東西。
JSON(和YAML)會產生一些開銷。他們會更慢。有一些必須完成的格式。
XML比JSON/YAML帶來更多開銷。它會更慢。有相當數量的格式必須完成。
開銷越大,它會越慢。
這些都與清理註釋輸入有關,因此它將顯示爲有效的HTML。在將文本保存到文件之前,您應該使用cgi.escape轉義註釋中任何類似HTML的字符序列。
您使用不同形式的存儲而不是平面文件的動機是什麼? – Brian 2009-04-22 12:59:43
平面文件意味着我必須進入服務器,awk out註釋我不想要垃圾郵件等xml或json有點更靈活。我猜可以把它變成rss。我只是想知道所涉及的開銷是否使它成爲時間浪費。 – dunkyp 2009-04-22 13:04:42