memcache java客户端代码示例

时间:2021-06-16 08:00:27

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);
}
}