2011-03-11 62 views
2

我有一個大的數據庫,我從那裏獲取數據並存儲在一個數組中。我正在處理這些數據,但我不想每次都從數據庫中獲取這些數據,我想緩存它,這對我來說每5分鐘就足夠了。我怎麼能緩存一個數組?Php陣列緩存

感謝您的幫助。

+0

你說數據庫,但你的標籤沒有指定一個。如果是MySQL - 有[SELECT SQL_CACHE](http://dev.mysql.com/doc/refman/5.1/en/query-cache-in-select.html)模式 – Mikhail 2011-03-11 14:39:43

+0

您對PHP數組緩存有疑問?在你的細節中,你正在談論數據庫緩存。你可以提供更多的細節? – kn3l 2011-03-11 14:53:09

回答

2

只要你可以安裝APC緩存。 它使用服務器的內部存儲器。

後可以設置陣列apc_store('key_name', serialize($array))並用apc_fetch('key_name')

取用戶還可以定義過期時間緩存。

它非常容易和快速。

+0

哪一個更好?替代PHP緩存和Memcache? – kn3l 2011-03-11 14:42:10

+1

Memcache可以在服務器之間分配。但它需要更多的依賴性,並且它通過TCP端口工作。這意味着你有額外的TCP開銷。 APC不能分配,但不使用TCP,也不具有任何依賴性。 – osm 2011-03-11 14:45:49

+0

這看起來非常好,你能在這裏寫出一個取決於時間的例子(1 min緩存時間)。謝謝。 – 2011-03-11 15:24:09