zy505052的gravatar头像
zy505052 2014-06-20 10:00:00

java MemCached使用配置教程代码例子

package com.bennytian.memcached;

import java.io.Serializable;
import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

@SuppressWarnings("serial")
public class MemCached implements Serializable {

    private static MemCachedClient mcc = new MemCachedClient();  
    private static MemCached memCached = new MemCached();
    
    //服务区群
    private static final String [] services = {"127.0.0.1:11211"};
    //服务器群各自对应的权重
    private static final Integer[] weights = {1};
    //初始化连接数
    private static final Integer init_connection = 5;
    //最小连接数
    private static final Integer min_connection = 5;
    //最大连接数
    private static final Integer max_connection = 250;
    //最大处理时间  60*60*6
    private static final Long max_idle = 21600L ; 
    //主程序睡眠时间
    private static final Long maint_sleep = 10L;
    
    static{
        // 获取socke连接池的实例对象  
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(services);
        pool.setWeights(weights);
        pool.setInitConn(init_connection);  
        pool.setMinConn(min_connection);  
        pool.setMaxConn(max_connection);  
        pool.setMaxIdle(max_idle);  
        pool.setMaintSleep(maint_sleep);
        
        // 设置TCP的参数,连接超时等  
        pool.setNagle(false);
        pool.setSocketTO(3000);
        pool.setSocketConnectTO(0);
 
        // 初始化连接池  
        pool.initialize();
        
        //超过指定大小就压缩
        mcc.setCompressEnable(true);
        mcc.setCompressThreshold(65536L);
    }
    
    private MemCached(){}
    
    public static MemCached getInstance(){
        return memCached;
    }
    
    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);  
    }  
     
    public Object get(String key){  
        return mcc.get(key);  
    } 
    
    public static void main(String[] args)  {  
        MemCached cache = MemCached.getInstance();  
        Date d = new Date();
        cache.add("11", cache);  
        cache.add("12", new String("1234"));  
        /*for (int i = 0; i < 1000; i++) {
            cache.add(i+"", cache);  
        }*/
        System.out.println(cache.get("11"));
        System.out.println(cache.get("12"));
        System.out.println(System.currentTimeMillis()-d.getTime());
        //System.out.print("get value : " + cache.get("hello"));  
        //System.out.println(cache.get("100"));
    }  
    /*
        安装命令 
    c:>memcached.exe -d install  
        启动兼分配内存
    c:>memcached.exe -l 127.0.0.1 -m 32 -d start  
    
    */
}

 


最代码官方编辑于2014-6-20 10:04:14


打赏

最代码最近下载分享源代码列表最近下载
最代码最近浏览分享源代码列表最近浏览
神龙摆尾无拘束  LV2 2023年3月17日
weixiao  LV6 2020年5月31日
luohaipeng  LV23 2019年11月20日
java孤儿  LV1 2019年6月14日
wsh564494062  LV8 2019年1月30日
afeng992211  LV14 2018年12月10日
虫儿飞  LV4 2018年10月11日
哈哈jun  LV9 2018年9月26日
20162016  LV6 2018年9月12日
chenyiiqng  LV5 2018年7月26日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友