2011-02-25 78 views
4

我是PHP新手,但一般不編程。我想存儲從Web服務中檢索的一些數據,但我不認爲我需要一個數據庫。首先,數據會經常更新,其大小始終小於1MB。 什麼是Apache上最好,快速但高效的PHP方法?注意:我正在使用託管服務提供商,所以我不喜歡自定義安裝。 也許,單身? 謝謝以數據庫方式存儲一些數據在PHP中

+1

爲什麼你不希望使用一個數據庫?這聽起來很適合你在做什麼。如果你想讓數據無限期地持續下去,唯一的選擇就是將它存儲到一個文件中,除了難以管理外,這個文件實際上是一樣的。一個「單身人士」只是一種設計模式(現在真是流行語),與數據存儲無關,並且沒有具體含義。 – 2011-02-25 17:36:54

+0

你的問題太含糊。描述數據使用情況。否則,你將不得不忍受廣義的「只使用數據庫」的答案。 – mario 2011-02-25 17:53:26

回答

4

使用數據庫。否則,你會被卡住序列化文件。但要做到這一點,你需要實現併發控制。

節省您自己的時間和精力,並使用數據庫。

0

嘗試使用平面文件。如果你不需要做任何形式的查找,那就是。

0

數據庫的明顯替代方案是文件存儲。 PHP可以讀寫良好的舊磁盤文件;看fopen(),fread(),fwrite()然後一些。你需要在文件服務器上指定一個文件夾(除了public_html空間),並提出一個命名方案和數據格式。

1

我想問題是,數據存儲多長時間?如果您要存儲數據直到它被替換或比單個用戶會話長,我個人認爲數據庫是理想的解決方案 - 它的設計非常有效,能夠快速更改和檢索數據。

如果僅針對單個用戶會話保存數據,則可以使用PHP會話將數據存儲爲數組。

另一種選擇是將數據存儲在文件中。但是,這在檢索少量數據方面效率可能會低很多。

0

您可以使用雲服務(Amazon,Google ...)。但除了讓你的應用程序變得更加複雜和脆弱以及讓自己變得更加時髦之外,我並沒有看到使用普通數據庫或平面文件帶來的好處。

0

您可以用純文本文件保存數組,serialize

喜歡的東西

$fh = fopen("db.txt", "w"); 
fwrite($fh, serialize(array("field"=>"data")); 
fclose($fh); 

用fread和模式 「R」,然後方法unserialize再次找回它。

$fh = fopen("db.txt", "r"); 
$data = unserialize(fread($fh)); 
fclose($fh); 

然後管理數組中的數據。

0

可以存儲在XML文件中的數據,並使用SimpleXML來加載數據的管理它,如:

$ XML =使用simplexml_load_file( 「的test.xml」);

然後你可以有一個你定義的節點的列表,並做你的東西。如需進一步參考,你可以檢查出以下幾點:

SimpleXML tutorial

相關問題