2012-01-23 99 views
5
  • 什麼是使用MySQL緩存Java Web應用程序的更好方法?以提高性能。
  • 什麼是最好的技術來做到這一點?
  • 在應用程序級別或數據庫級別執行此操作會更好嗎?

我是新來的,所以,如果我錯了,很抱歉。在Java中緩存web應用程序

+0

MySQL或數據庫:這是「必須」的要求嗎? – PeterMmm

+0

Web應用程序如何在沒有數據庫的情況下存在?是的,它可以,但不是那麼複雜,簡單。 – Denees

+0

另請參閱http://stackoverflow.com/questions/699996/java-web-application-how-to-implement-caching-techniques – alf

回答

7

那麼有辦法在數據庫級別和應用程序級別有一些性能提示。

對於這裏的數據庫水平是投入少頻繁要求數據

  1. 查詢優化
  2. 索引的創建。

對於像hibernate這樣的一些ORM層,它還提供某種機制來緩存初級和次級輸出。

對於應用水平,我們有少數人有很多選項

1. EHCache 2。Memcached

JCS

這裏是一個基於Java高速緩存的完整列表構架

java-caching-system

和一些谷歌上搜索將幫助您找到許多其他選項 的UI層有很多的面積改進如

  1. 正確使用HTTP標頭
  2. 服務器點擊次數較少。
  3. 方式來加載JavaScript的
  4. 方式來加載CSS文件
  5. 使用CDN的切斷

雅虎有很好的博客這一點。 YSLOW from YAHOO。如果您處於開發的早期階段,我會建議不要因爲它們導致過早優化而導致可能出現問題。

+0

謝謝Umesh,現在很清楚。一如既往快速清晰。 :) – Denees

+0

歡迎:) –

2

不幸的是,這個問題的方式過於寬泛(上有相關的書籍,所以它字面上的offtopic的FAQ定義下降) - 以及由此可能很快關閉。

簡而言之,有很多Java緩存解決方案,包括Guava和ehcache等。

的三個最佳方法是:

  1. 簡介
  2. 簡介
  3. 簡介

首先,任何更改之前,第二次,以確保您的更改生效,第三次在生產中,確保您的更改能夠在現實生活中發揮作用。

在級別上 - 兩者都取決於性能分析數據。

3

爲此目的而存在的框架,Ehcache就是其中之一。在這裏,您可以閱讀如何使用它:ehcache