memcache java client_Memcache--Java客户端调用示例分享

前面两篇有说道从Memcache的背景介绍到安装和使用,这篇我们就来说说如何在项目中对Memcache的客户端调用,由于我是一个java程序员,所以我在这里讲述的是java客户端的实现,但是它支持的客户端语言很多包含c/c++、php、Python、.NET等主流开发语言,我通过一段时间的学习在实际应用中发现有两种常用的版本:java_memcached-release_2.5.1.zip客户端

memcache-client-forjava客户端

(一)java_memcached-release_2.5.1.zip客户端调用实现

首先,这个版本的实现我们可以到这里https://github.com/gwhalin/Memcached-Java-Client/downloads 下载我们所需要的客户端依赖,然后我们新建一个java项目导入这些依赖包,下面我们来实现我们的一个测试方法CacheTest.java,详细实现可以查看代码注解!package com.cuiyongzhi.mem;

import com.danga.MemCached.*;

public class CacheTest {

public static void main(String[] args) {

/**

* 初始化SockIOPool,管理memcached的连接池

* */

//服务器列表

String[] servers = { "192.168.192.128:11211" };

// Integer[] weights = {3};当存在多服务器的时候服务器之前的权重

//获取SockIOPool连接池实例对象

SockIOPool pool = SockIOPool.getInstance();

// 设置服务器信息

pool.setServers(servers);

//pool.setWeights(weights); //设置权重

pool.setFailover(true);

// 设置初始连接数、最小和最大连接数以及最大处理时间

pool.setInitConn(10);

pool.setMinConn(5);

pool.setMaxConn(250);

pool.setMaintSleep(30);

// 设置TCP的参数,连接超时等

pool.setNagle(false);

pool.setSocketTO(3000);

pool.setAliveCheck(true);

// 初始化连接池

pool.initialize();

// 建立MemcachedClient实例

MemCachedClient memCachedClient = new MemCachedClient();

// 压缩设置,超过指定大小(单位为K)的数据都会被压缩

for (int i = 0; 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));

}

}

}

这里运行成功的前提是你需要开启一个Memcache的守护进程并且端口号和ip需要是你自己的,运行成功我们可以通过Telnet方式进入查看,如下:

3ee6bc588ca994c1e26bc18f723ee316.png

(二)memcache-client-forjava客户端实现

这个是阿里的大神开发的一套用于memcached框架,项目地址 https://code.google.com/p/memcache-client-forjava/  ,下载对应的jar文件 alisoft-xplatform-asf-cache-2.5.1.jar,这个jar文件依赖于一些开源的库文件(参考大神写的 Memcached_Client_HandBook.docx ,里面详细列举了需要的依赖包):commons-logging-1.0.4.jar or high version

log4j-1.2.12.jar or high version

codehaus/woodstox/wstx-asl-3.2.1.jar or high version

codehaus/staxapi/stax-api-1.0.1.jar or high version

2.5.2版本以后还需要caucho/hessian/hessian-3.2.0.jar or high version

导入到相应的依赖之后我们就可以开始我们的客户端调用了,首先我们建立我们的配置文件memcached.xml,存放到src下,配置如下:<?xml  version="1.0" encoding="UTF-8"?>

socketpool="pool_0">

failover="true" aliveCheck="true" initConn="5" minConn="5" maxConn="250"

nagle="false">

192.168.192.128:11211

每个配置参数的设置和详解可以参照代码注解,下面我们来写我们的测试代码,如下:package com.cuiyongzhi.mem;

import com.alisoft.xplatform.asf.cache.ICacheManager;

import com.alisoft.xplatform.asf.cache.IMemcachedCache;

import com.alisoft.xplatform.asf.cache.memcached.CacheUtil;

import com.alisoft.xplatform.asf.cache.memcached.MemcachedCacheManager;

public class CacheTestTwo {

public static void main(String[] args) {

ICacheManager manager;

manager = CacheUtil.getCacheManager(IMemcachedCache.class,

MemcachedCacheManager.class.getName());

// 获取src文件路径

// ClassLoader cl = Thread.currentThread().getContextClassLoader();

// System.out.println(cl.getResource("memcached.xml"));

manager.setConfigFile("memcached.xml");

manager.start();

try {

IMemcachedCache cache = manager.getCache("mclient_0");

cache.put("key", "value");

System.out.println(cache.get("key"));

} finally {

manager.stop();

}

}

}

运行结果可以采用cmd可以获取key的值,如下:

8b5dfa16eb4615df25bbfee87d50690b.png

所有的java-Memcache的客户端两种调用方式的代码实现就基本完成了,这里需要的所有依赖可以到这里下载 http://download.csdn.net/detail/u010488222/9464168 ,最后项目结构如下图:

c451e2a20fadaa55714c678d0ae30f76.png

感谢你的翻阅,如有疑问和需要可以留言讨论!

除非注明,否则文章均由 崔用志博客 整理发布,欢迎转载。

如果喜欢,可以点此订阅本站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值