Memcached之完整實(shí)例
來源:程序員人生 發(fā)布時(shí)間:2015-03-13 08:11:14 閱讀次數(shù):3268次
import java.sql.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
public class MemCached {
//創(chuàng)建全局唯1的實(shí)例
protected static MemCachedClient mcc=new MemCachedClient();
protected static MemCached memCached=new MemCached();
//設(shè)置與緩存
服務(wù)器的連接池
static{
//
服務(wù)器列表和其權(quán)重
String[] servers={"127.0.0.1:11211"};
Integer[] weights={3};
//獲得socket連接池的實(shí)例對(duì)象
SockIOPool pool=SockIOPool.getInstance();
//設(shè)置
服務(wù)器信息
pool.setServers(servers);
pool.setWeights(weights);
//設(shè)置初始連接數(shù)、最小和最大連接數(shù)和最大處理時(shí)間
pool.setInitConn(5);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000*60*60*6);
//設(shè)置主線程的睡眠時(shí)間
pool.setMaintSleep(30);
//設(shè)置TCP的參數(shù)、連接超時(shí)等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
//初始化連接池
pool.initialize();
// 緊縮設(shè)置,超過指定大?。▎挝粸镵)的數(shù)據(jù)都會(huì)被緊縮
mcc.setCompressEnable(true);
mcc.setCompressThreshold(64 * 1024);
}
/**
* 保護(hù)型構(gòu)造,不允許實(shí)例化
*/
protected MemCached(){}
/**
* 獲得唯1實(shí)例
*/
public static MemCached getInstance(){
return memCached;
}
/**
* 添加1個(gè)指定的值dao緩存中
*/
public boolean add(String key,Object value){
return mcc.add(key,value);
}
public boolean add(String key,Object value,Date expiry){
return mcc.add(key,value,expiry);
}
public boolean replace(String key,Object value){
return mcc.replace(key,value);
}
public boolean replace(String key,Object value,Date expiry){
return mcc.replace(key, value,expiry);
}
/**
* 根據(jù)指定的關(guān)鍵字獲得對(duì)象
*/
public Object get(String key){
return mcc.get(key);
}
public static void main(String[] args) {
MemCached cached=MemCached.getInstance();
//cached.add("hello",1223);
System.out.println("get Value:"+cached.get("hello"));
}
}
需要的jar包:
java_memcached-release_1.6.jar
在運(yùn)行之前要啟動(dòng)Memcached服務(wù),以下:

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)