2009-09-23 51 views
1

我正在構建一個web應用程序來編輯數據庫中的一些信息。數據庫正在以具有編輯功能的表顯示。我是否應該在顯示的信息的內存中保留副本?

編輯值時,通常我必須驗證並執行一些其他任務,具體取決於正在編輯的值。

我應該在內存中保留一份作爲對象數組的拷貝並使用它們的方法,或者我應該在html表中某處(作爲屬性或隱藏輸入)存儲我需要的所有信息(值類型,id等)和讓他們使用幾個功能?

這將是最佳做法? 將多個對象存儲在內存中(考慮到瀏覽器的內存使用情況)是否有風險?

回答

3

在內存中存儲中等或大量的數據,因爲對象不會影響現代系統的性能。您應該考慮的主要因素是CPU密集型DOM迭代和循環操作。這些需要很多瀏覽器內存。

我更喜歡在內存中使用存儲對象,而不是在許多應用程序中使用HTML隱藏字段。它運行良好,沒有發現任何性能瓶頸。

0

從編程的角度來看,只要做到最簡單。我不會太擔心這樣的內存使用情況,除非你確定它會造成問題。

您可以在以後及時解決您的應用程序的內存使用情況,當它成爲問題時。

1

我想你是在描述一個MVC,它被認爲是最佳實踐。但是,出於安全目的,視圖的內存模型通常會保留在服務器上。

它可能無關緊要(我可能會跳到結論),但我會警告不要信任客戶端的所有數據和驗證。您可以使用Firebug實時修改頁面中的所有內容,如果這會讓您的應用面臨風險,請考慮將您的內存模型移至服務器。

1

您是否會在客戶端遇到內存問題取決於您一次將持有多少數據。考慮限制返回到特定數量的記錄和分頁的信息,然後可以限制要保留在內存或頁面上的數據量。

我期望持有內存中的信息會比需要不斷調用回服務器或DOM中提供更好的用戶體驗。從編程的角度來看,這可能更容易

0

大多數數據庫編輯工具例如PhpPgAdmin和PhpMyAdmin分頁結果,並且一次只允許編輯1行。你可以把它擴展到幾個而不用大驚小怪。如前所述,請記住分頁。

相關問題