2015-10-19 79 views
0

我需要相關的設計問題提供一些幫助。我有一個運行在Apache服務器上的Web應用程序,其中包含大量關於用戶的信息。多個頁面使用用戶表中的各種信息。假設該網站將有巨大的流量。如果我將數據存儲在SESSION中,它將消耗服務器上相對較多的空間。如果我在不同的頁面上使用數據庫訪問,它會增加I/O突發,這是昂貴的。
將數據作爲cookie存儲在客戶端系統上是否好?我可以使用JS並在各種頁面上呈現輸出。有沒有陷阱?存儲數據

+1

可能重複的[會話變量:多少數據太多?](http://stackoverflow.com/questions/17554990/session-variables-how-much-data-is-too-much) – Andrew

+0

我明白了你的鏈接。我還有一個疑問,那就是如何在cookie中存儲名稱,地址,郵編,城市等信息?這些細節將在下訂單時使用,會有什麼問題嗎? –

回答

2

解決方案 - 你的情況是一個完美的使用情況內存緩存。內存緩存是定期從DB加載數據的緩存。

爲什麼使用內存緩存 - 您的使用案例介於將會話中的信息保存在數據庫中,正如您所提到的。內存緩存對於保存這些數據非常理想。

基本點,把它向前

  • 你需要存儲所有用戶表(和你經常需要任何其他信息)在此內存高速緩存。

  • 使用數據庫中的數據的刷新間隔(也稱爲同步間隔)應該按照您網站上的資源可用性&流量保留。它可以從一個小時到一天不等。

  • 你需要找出哪些是一個很好的內存緩存的PHP。我與Java工作,memcache是在Java中最流行的內存緩存之一。

+0

請更好的格式你的答案,這是很難知道你的意思.. – Smar

+0

重新格式化爲每評論。 –

+0

謝謝:)我做了一些小的文法修正。 FWIW,'memcache'和'memcached'都可用於PHP,也許'memcached'更常見。 – Smar