memcache java客户端代码示例

来源:互联网 发布:交换机流量监控软件 编辑:程序博客网 时间:2024/05/16 02:30

Memcache是danga.com的一个开源项目,它是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的Hash表,能够用来存储各种格式的数据。 总结下memcache java客户端代码示例,不是很全。

package com.lzf.demo.memcached;import java.util.List;import java.util.Map;import com.danga.MemCached.MemCachedClient;import com.danga.MemCached.SockIOPool;import com.schooner.MemCached.MemcachedItem;public class MemcachedServer {    public MemcachedServer(){        String[] servers = {"192.168.84.120:11211"};        SockIOPool pool = SockIOPool.getInstance();        pool.setServers(servers);        pool.setFailover(true);//容错        pool.setInitConn(10);//设置初始连接数        pool.setMinConn(5); //设置最小连接数        pool.setMaintSleep(30);//设置连接池维护线程的睡眠时间        pool.setNagle(false); //是否使用nagle算法        pool.setSocketConnectTO(3000);// 设置socket的读取等待超时时间        pool.setAliveCheck(true);//设置连接心跳检测开关        pool.setHashingAlg(SockIOPool.CONSISTENT_HASH);// 设置hash算法        pool.initialize();    }    public void addMsg(){        MemCachedClient memCachedClient = new MemCachedClient();        memCachedClient.add("key", 1);        memCachedClient.set("key", 2);        memCachedClient.replace("key", 3);    }    public String getMsg(String key){        MemCachedClient memCachedClient = new MemCachedClient();        String result ="";        Object value = memCachedClient.get(key);        result = value.toString();        return result;    }    public Map<String,Object> getMsgs(String[] keys){        MemCachedClient memCachedClient = new MemCachedClient();        Map<String,Object> result = memCachedClient.getMulti(keys);        return result;    }    //给key 对应的值增加前缀    public void prepend(String key,String prepend){        MemCachedClient memCachedClient = new MemCachedClient();        memCachedClient.prepend(key, prepend);    }    //给key对应的值增加后缀    public void append(String key,String append){        MemCachedClient memCachedClient = new MemCachedClient();        memCachedClient.append(key, append);    }    //通过gets()方法获取key对应的值和值得版本号,然后使用cas()方法对值进行修改    public void updateIntValue(String key,int value){        MemCachedClient memCachedClient = new MemCachedClient();        MemcachedItem item = memCachedClient.gets(key);        memCachedClient.cas(key, (Integer)item.getValue()+value, item.getCasUnique());    }    //对缓存数据进行增量操作    public void incr(String key ,int value){        MemCachedClient memCachedClient = new MemCachedClient();        memCachedClient.incr(key,value);    }    //对缓存数据进行减量操作    public void decr(String key ,int value){        MemCachedClient memCachedClient = new MemCachedClient();        memCachedClient.decr(key,value);    }}