天天看點

java中使用memcached_memcached如何在java項目中使用

memcached如何在java項目中使用

釋出時間:2020-11-26 16:23:24

來源:億速雲

閱讀:89

作者:Leah

memcached如何在java項目中使用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編将為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

Memcached是一個高性能的分布式記憶體對象緩存系統,本文介紹了java 使用memcached以及spring 配置memcached完整執行個體代碼,分享給大家

本文涉及以下内容:

1,要使用的jar包

2,java 使用memcached

3,spring 配置memcached

導入jarjava_memcached-release_2.6.6.jar

commons-pool-1.5.6.jar

slf4j-api-1.6.1.jar

slf4j-simple-1.6.1.jar

示例代碼

建立一個memcached 工廠類public class CacheHelper {

private static MemCachedClient mcc = new MemCachedClient();

private CacheHelper() {

}

static {

String[] servers = {"71.0.0.29:2222", "71.0.0.29:2223"};

Integer[] weights = {1, 2};

SockIOPool pool = SockIOPool.getInstance();

pool.setServers(servers);

pool.setWeights(weights);

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(250);

pool.setMaxIdle(1000 * 60 * 60 * 6);

pool.setMaintSleep(30);

pool.setNagle(false); // 禁用nagle算法

pool.setSocketConnectTO(0);

pool.setSocketTO(3000); //3秒逾時

pool.setHashingAlg(3);

pool.initialize();

}

public static MemCachedClient getMemCachedClient() {

return mcc;

}

}

測試MemCachedClient mcc = CacheHelper.getMemCachedClient();

mcc.add("k8", "1234455");

MemCachedClient mcc = CacheHelper.getMemCachedClient();

UserModel user = new UserModel("12322222", "lihao", 28);

boolean is = mcc.add("user2",user);public void setInitConn( int initConn )

//設定開始時每個cache伺服器的可用連接配接數

public void setMinConn( int minConn )

//設定每個伺服器最少可用連接配接數

public void setMaxConn( int maxConn )

//設定每個伺服器最大可用連接配接數

public void setMaxIdle( long maxIdle )

//設定可用連接配接池的最長等待時間

public void setMaintSleep( long maintSleep )

//設定連接配接池維護線程的睡眠時間 ,設定為0,維護線程不啟動。維護線程主要通過log輸出

//socket的運作狀況,監測連接配接數目及空閑等待時間等參數以控制連接配接建立和關閉。

public void setNagle( boolean nagle )

//設定是否使用Nagle算法,因為我們的通訊資料量通常都比較大(相對TCP控制資料)而且要求響 應及時,是以該值需要設定為false(預設是true)

ublic void setSocketTO( int socketTO )

//設定socket的讀取等待逾時值

public void setSocketConnectTO( int socketConnectTO )

//設定socket的連接配接等待逾時值

public void setHashingAlg( int alg )

// 設定hash算法

//  alg=0 使用String.hashCode()獲得hash code,該方法依賴JDK,可能和其他用戶端不相容,建議不使用

//  alg=1 使用original 相容hash算法,相容其他用戶端

//  alg=2 使用CRC32相容hash算法,相容其他用戶端,性能優于original算法

//  alg=3 使用MD5 hash算法

//  采用前三種hash算法的時候,查找cache伺服器使用餘數方法。采用最後一種hash算法查找cache   服務時使用一緻性hash方法

//public void initialize() 設定完pool參數後最後調用該方法,啟動pool。

memcached 和Spring 繼承

factory- method="getInstance"

init-method="initialize"

destroy-method="shutDown">

neeaMemcachedPool 

 192.168.1.106:2222 192.168.1.106:2223

1

2

5

5

250

30

false

6000

3000

neeaMemcachedPool

看完上述内容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速雲行業資訊頻道,感謝您對億速雲的支援。