2010-07-16 78 views
7

我正在編寫一個網站,它涉及在服務器上存儲非常簡單的數據,只是一長串沒有附加數據的名稱。由於這些數據非常簡單,我並不想使用MySQL(它會有點笨拙),所以我在問什麼是在服務器上存儲非常簡單的數據的最佳方式。簡單數據的最佳服務器端數據存儲方法

我絕對會比其他任何東西都更喜歡速度,並且通過javascript和AJAX輕鬆訪問數據會非常好,因爲網站的其他部分使用javascript/jQuery編碼。我並不在乎數據是否可以自由瀏覽(因爲無論如何都可以使用),只要未經授權的用戶不能更改。

+1

究竟是什麼你覺得'笨重'?數據會被改變嗎?我們在談論什麼數據量?它將如何被訪問(例如,加載到JS列表中?)? – 2010-07-16 14:08:57

+0

我認爲如果整個MySQL數據庫只是存儲一長串名稱,如果能夠以其他方式更有效地完成,那將是一件浪費。數據不需要改變,只是隨着時間的推移添加更多的數據。這將是大約2000個名字的列表,並且會被加載(最好通過AJAX)到客戶端的瀏覽器中。 – DLiKS 2010-07-16 14:12:03

+0

http://stackoverflow.com/questions/3265142/javascript-jquery-data-storage-method-database – Anders 2010-07-16 14:16:44

回答

3

使用可通過網絡訪問的XML文件。然後,如果需要,您可以從瀏覽器查詢XML文件,並仍然使用PHP解析/編寫它。您需要在PHP中使用flock函數來確保頁面的兩個實例不會同時寫入文件。

+0

感謝您的答案!有什麼方法可以使用Javascript和AJAX訪問XML文件? – DLiKS 2010-07-16 14:13:10

+1

http://en.wikipedia.org/wiki/XMLHttpRequest – Aaron 2010-07-16 14:17:36

2

將它寫入文件並將數據保存爲序列化對象。通過這種方式,當你讀取數據時,它可以作爲你需要的變量類型(數組,對象等)來即時訪問。這將比XML解析更快。

+0

感謝您的回答!你能指出我有關這種方法的任何文章嗎? – DLiKS 2010-07-16 14:15:04

+0

當然:http://php.net/manual/en/function.serialize.php和http://www.php.net/manual/en/function.unserialize.php讀取和寫入數據。然後,如果你想將數據轉換爲json:http://www.php.net/manual/en/function.json-encode.php – Evan 2010-07-16 14:22:06

+2

順便說一句,如果你不需要對文件的信息進行任何操作,並且實際上只是想將該信息傳遞給用戶,提供XML文檔可能會更好,因爲沒有服務器處理負載,然後 – Evan 2010-07-16 14:23:14

5

有很多事情要考慮這個。

  1. 對於所有用戶而言,只有一組適用於所有用戶的信息是否相同?或者每個用戶是否有單獨的一組數據?
  2. 數據將如何提供給客戶端,我的猜測是您將有一個Web服務或其他可能會返回JSON。
  3. 從安全角度來看,你希望有人能夠「抓住」數據並運行嗎?

就我個人而言,我發現一個數據庫如果經常是一個更好的選擇,但否則我會使用一個XML文件。請記住,您必須小心加載/讀取XML文件以提供Web請求,以防止出現任何潛在的文件鎖定問題。

+0

感謝您的答案!這些信息對所有用戶都是一樣的,我不介意如果有人能夠獲取所有的數據,無論如何都可以在網站上免費獲得,只要他們不能編輯它! – DLiKS 2010-07-16 14:16:35

相關問題