memcached client for java
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
一.安装:
1.将下载的Memcached1.2.6.zip解压缩到服务器某个目录下eg:D:\programfiles\memcached
2.输入cmd命令进入D:\programfiles\memcached
3.执行安装、启动命令
memcached.exe-dinstall
memcached.exe-dstart
如果你要卸载,执行下面的命令:
memcached.exe-dstop
memcached.exe-duninstall
二.结构
项目引入com.danga.memcached.jar包
memcached是以KEY-VALUE的方式进行数据存储的,KEY的大小限制:Key(max)<=250个字符;VALUE在存储时有限制:Value(max)<=1M;
memcached默认过期时间:ExpiresTime(max)=30(days)。
三.示例
publicclassMemcachedTestimplementsSerializable{
staticMemCachedClientmcc=newMemCachedClient();
static{
/**
*初始化SockIOPool,管理memcached的连接池
**/
String[]servers={"127.0.0.1:11211"};
SockIOPoolpool=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();
}
publicstaticvoidmain(String[]args){
for(inti=0;i<5;i++){
//SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
//longtimeStart=(newDate().getTime()+1000*60);//一分钟后
//Datedate=newDate(timeStart);
//System.out.println(sdf.format(date));
//booleansuccess=mcc.set("key"+i,i,date);
Objectobject=mcc.get("key"+i);
if(null!=object){
Stringresult=object.toString();
System.out.println(String.format("get(%d):%s",i,result));
}else{
System.out.println("mcc一分钟缓存已过期");
break;
}
}
}
}