Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
一.安装:
1.将下载的Memcached 1.2.6.zip解压缩到 服务器某个目录下eg:D:\program files\memcached
2.输入cmd命令 进入D:\program files\memcached
3.执行安装、启动命令
memcached.exe -d install
memcached.exe -d start
如果你要卸载,执行下面的命令:
memcached.exe -d stop
memcached.exe -d uninstall
二.结构
项目引入 com.danga.memcached.jar包
memcached是以KEY-VALUE的方式进行数据存储的,KEY的大小限制:Key(max)<=250个字符;VALUE在存储时有限制:Value(max)<= 1M;
memcached默认过期时间:ExpiresTime(max)= 30(days)。
三.示例
public class MemcachedTest implements Serializable{
static MemCachedClient mcc = new MemCachedClient();
static{
/**
* 初始化SockIOPool,管理memcached的连接池
* */
String[] servers = {"127.0.0.1:11211"};
SockIOPool pool = SockIOPool.getInstance();//获取socke连接池的实例对象
pool.setServers(servers);
pool.setFailover(true);
// 设置初始连接数、最小和最大连接数以及最大处理时间
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaxIdle(1000*60*60*24);
//设置主线程的睡眠时间
pool.setMaintSleep(30);
// 设置TCP的参数,连接超时等
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
// 初始化连接池
pool.initialize();
}
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
//SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//long timeStart=(new Date().getTime()+1000*60); //一分钟后
//Date date = new Date(timeStart);
//System.out.println(sdf.format(date));
//boolean success = mcc.set("key"+i,i, date);
Object object=mcc.get("key"+i);
if(null!=object){
String result =object.toString();
System.out.println(String.format("get( %d ): %s", i, result));
}else{
System.out.println("mcc一分钟缓存已过期");
break;
}
}
}
}
memcached client for java
猜你喜欢
转载自alice-xueli.iteye.com/blog/1830221
今日推荐
周排行