Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1883909
  • 博文数量: 606
  • 博客积分: 9991
  • 博客等级: 中将
  • 技术积分: 5725
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-17 19:07
文章分类

全部博文(606)

文章存档

2011年(10)

2010年(67)

2009年(155)

2008年(386)

分类: 数据库开发技术

2010-08-18 16:54:44

要在Java中使用 memcached ,先要安装memcached 服务端(见:http://blog.chinaunix.net/u2/73798/showart.php?id=2263251)。
 
先去 下载java客户端,截止目前最新正式版本文件是 java_memcached-release_2.0.1.jar ,把这文件下载后,放到 WEB-INF 的 lib 目录里,因为这java客户端还需要 log4j 记录日志,另外在分别去下载 log4j-1.2.15.jar 和 commons-logging-1.1.1.jar ,也一并放到 WEB-INF 的 lib 目录里。

好了,准备工作就这样,很简单。

操作示例:
Java代码
 

package client;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

public class TestMemcached {
    
    public static void main(String[] args) {
        
        /** 初始化SockIOPool,管理memcached的连接池 **/
        String[] servers = { "192.168.0.173:12000" };
        SockIOPool pool = SockIOPool.getInstance();
        pool.setServers(servers);
        pool.setFailover(true);
        pool.setInitConn(10);
        pool.setMinConn(5);
        pool.setMaxConn(250);
        pool.setMaintSleep(30);
        pool.setNagle(false);
        pool.setSocketTO(3000);
        pool.setAliveCheck(true);
        pool.initialize();
        
        /** 建立MemcachedClient实例 **/
        MemCachedClient memCachedClient = new MemCachedClient();
        for (int i = 0; i < 10; i++) {
            /** 将对象加入到memcached缓存 **/
            boolean success = memCachedClient.set("" + i, "Hello!");
            /** 从memcached缓存中按key值取对象 **/
            String result = (String) memCachedClient.get("" + i);
            System.out.println(String.format("set( %d ): %s", i, success));
            System.out.println(String.format("get( %d ): %s", i, result));
        }
    }
    
}


输出:

log4j:WARN No appenders could be found for logger (com.danga.MemCached.SockIOPool).
log4j:WARN Please initialize the log4j system properly.
set( 0 ): true
get( 0 ):
set( 1 ): true
get( 1 ):
set( 2 ): true
get( 2 ):
set( 3 ): true
get( 3 ):
set( 4 ): true
get( 4 ):
set( 5 ): true
get( 5 ):
set( 6 ): true
get( 6 ):
set( 7 ): true
get( 7 ):
set( 8 ): true
get( 8 ):
set( 9 ): true
get( 9 ):


 
其他资料:
1. JAVA客户端调用memcached比较
2. 缓存系统MemCached的Java客户端优化历程
3. 缓存系统MemCached的Java客户端优化Google Code
阅读(3021) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~