前面发过一篇linux下安装memcached的文章,今天就写一篇利用java调用memcached的例子。
这是一个调用的客户端程序:
private static MemCachedClient memCachedClient;
/** 日志logger */
protected static final Logger logger = Logger.getLogger(MemcacheHelper.class);
static {
ResourceBundle rb = ResourceBundle.getBundle("memcache");
String serverTemp = rb.getString("memcache.servers");
String[] servers = serverTemp.split(",");
BasicConfigurator.configure();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(1);
pool.setMinConn(1);
pool.setMaxConn(1);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
boolean flag = pool.isInitialized();
if (!flag) {
pool.initialize();
}
memCachedClient = new MemCachedClient();
memCachedClient.setCompressEnable(true);
memCachedClient.setCompressThreshold(0);
logger.info("初始化Memcache连接");
}
/**
* 默认构造方法
*/
private MemcacheHelper() {
}
public MemcacheHelper getInstance() {
return memcacheHelper;
}
/**
*
* 方法描述:向memcache添加值
*
* @author ming.li
* @time 2011-4-27 上午10:45:04
*
* @param key
* @param value
* @return
*/
public static boolean setMap(String key, Object value) {
boolean success = memCachedClient.set(key, value);
logger.debug("向memcache添加值,key:+" + key + ",value:" + value);
return success;
}
/**
*
* 方法描述:从memcache取值
*
* @author ming.li
* @time 2011-4-27 上午10:46:40
*
* @param key
* @return
*/
public static Object getValue(String key) {
Object o = memCachedClient.get(key);
logger.debug("从memcache取值,key:" + key);
return o;
}
代码估计一看就懂,我就不解释了