2011-11-19 27 views
-2

我有一個網頁,它需要太多的時間來加載,因爲它有大量的數據在mysql數據庫中。Memcached in java

我正在使用java類文件連接mysql數據庫並執行查詢。

我需要添加memcache。我已經安裝了memcache。

,我有一個代碼如下

String[][] test=null; 
MemcachedClient c=new MemcachedClient(new InetSocketAddress("localhost",11211)); 
if (!"mykey1".equals("")&&"mykey1"!=null) { 
    System.out.print(test[0][0]); 
} else { 
    System.out.print("Else"); 
    test=new Test(conn).getTestInfo(1,50); 
    c.set(key, 3600, url); 
    System.out.println("get"+c.get(key)); 
    Object myObject=c.get(key); 
} 

其中test是另一個Java類與數據庫連接... 如果我運行上面的代碼,它只是執行其他部分,它會運行的類文件構建沒有得到停止

真的很新的memcache,請幫我做java開發的memcache ......

+0

mykey1是用於memcache的密鑰...我沒有清楚的視圖如何設置memcache密鑰 – ashu

+0

這是奇怪的,什麼是mykey1?什麼是測試?爲什麼它被設置爲一個字符串數組?什麼是測試課程?什麼是關鍵聲明? –

+0

你可以發佈足夠的代碼嗎?這段代碼不幫助爲什麼mykey1在雙引號中? –

回答

4

的代碼是如此充滿了嚴重的問題,我甚至不知道在哪裏開始。

1)這是if語句

if(!"mykey1".equals("")&&"mykey1"!=null){ 
    System.out.print(test[0][0]); 
} else { 

字符串m1key1時總是不等於空字符串,並且永遠不會等於空,那麼還有什麼比else分支應該在這裏執行?

也許你的意思是一個名爲mykey1的變量,而不是一個名爲「mykey1」的字符串。

2)你會得到第4行,每一次例外:

System.out.print(test[0][0]); 

3)你只能做你設置了一個值後,內存緩存查找。這通常不是你想要的。

0

Memcahced是一個正確的方式去卸載你的MySQL。有多種使用方法。 我建議我的新發明開源,名爲3levelmemcache項目爲例github其基於Spring的抽象,隱藏所有關於Memcahced或Couchase或其他任何細節,並使您能夠更快地開發。它還具有連接池和JVM二級緩存。