memcached client for java

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

猜你喜欢

转载自alice-xueli.iteye.com/blog/1830221
今日推荐