package net.rubyeye.xmemcached.example;
import java.io.IOException;
import java.net.InetSocketAddress;
import java.util.concurrent.TimeoutException;
import net.rubyeye.xmemcached.KeyIterator;
import net.rubyeye.xmemcached.MemcachedClient;
import net.rubyeye.xmemcached.MemcachedClientBuilder;
import net.rubyeye.xmemcached.XMemcachedClientBuilder;
import net.rubyeye.xmemcached.auth.AuthInfo;
import net.rubyeye.xmemcached.command.BinaryCommandFactory;
import net.rubyeye.xmemcached.exception.MemcachedException;
import net.rubyeye.xmemcached.utils.AddrUtil;
/**
* Simple example for xmemcached
*
* @author boyan
*
*/
public class SimpleExample {
public static void main(String[] args) {
args = new String[]{"localhost:11211"};
if (args.length < 1) {
System.err.println("Useage:java SimpleExample [servers]");
System.exit(1);
}
MemcachedClient memcachedClient = getMemcachedClient(args[0]);
if (memcachedClient == null) {
throw new NullPointerException(
"Null MemcachedClient,please check memcached has been started");
}
try {
test(memcachedClient);
// // add a,b,c
// System.out.println("Add a,b,c");
// memcachedClient.set("a", 0, "Hello,xmemcached");
// memcachedClient.set("b", 0, "Hello,xmemcached");
// memcachedClient.set("c", 0, "Hello,xmemcached");
// // get a
// String value = memcachedClient.get("a");
// System.out.println("get a=" + value);
// System.out.println("delete a");
// // delete a
// memcachedClient.delete("a");
// // reget a
// value = memcachedClient.get("a");
// System.out.println("after delete,a=" + value);
//
// System.out.println("Iterate all keys...");
// // iterate all keys
// KeyIterator it = memcachedClient.getKeyIterator(AddrUtil
// .getOneAddress(args[0]));
// while (it.hasNext()) {
// System.out.println(it.next());
// }
} catch (MemcachedException e) {
System.err.println("MemcachedClient operation fail");
e.printStackTrace();
} catch (TimeoutException e) {
System.err.println("MemcachedClient operation timeout");
e.printStackTrace();
} catch (InterruptedException e) {
// ignore
}
try {
memcachedClient.shutdown();
} catch (Exception e) {
System.err.println("Shutdown MemcachedClient fail");
e.printStackTrace();
}
}
public static MemcachedClient getMemcachedClient(String servers) {
try {
// use text protocol by default
MemcachedClientBuilder builder = new XMemcachedClientBuilder(
AddrUtil.getAddresses(servers));
builder.setConnectionPoolSize(2);
//builder.set
return builder.build();
} catch (IOException e) {
System.err.println("Create MemcachedClient fail");
e.printStackTrace();
}
return null;
}
private static void test(MemcachedClient memcachedClient) throws MemcachedException, TimeoutException, InterruptedException{
int N = 10000;
memcachedClient.set("a", 0, "Hello,xmemcached");
long start = System.currentTimeMillis();
for(int i = 0 ; i < N; i++){
memcachedClient.get("a");
}
long time = System.currentTimeMillis() - start;
System.out.println("耗时" + time + "ms, " + N * 1000 / time + "次/S");
}
}
分享到:
相关推荐
### xmemcached中文开发手册知识点解析 #### XMemcached简介 XMemcached是一款高效能的Java客户端库,专为memcached服务设计。memcached是一种分布式内存缓存技术,主要用于减轻数据库的压力并加速动态Web应用程序...
xmemcached-1.2.4的官方源码。 xmemcached XMemcached is a high performance, easy to use blocking multithreaded memcached client in java. It's nio based (using my opensource nio framework :yanf4j), ...
《深入解析xmemcached 2.4.6:构建高效分布式缓存系统》 xmemcached是Java领域中一个高效、稳定且易于使用的Memcached客户端库,它为开发者提供了便捷的接口来操作Memcached服务器。在2.4.6这个版本中,xmemcached...
**Xmemcached官方中文手册** 是一份非常宝贵的资源,它为开发者提供了全面的关于Xmemcached框架的指导和实例。Xmemcached是一个高性能、轻量级的Java客户端库,专门用于连接和操作Memcached分布式内存缓存系统。这份...
《深入解析xmemcached-1.4.3.jar:打造高效分布式缓存系统》 xmemcached是一款高性能、轻量级的Java客户端库,专为Memcached缓存系统设计,其1.4.3版本提供了丰富的功能和优化,旨在提升应用的性能和可扩展性。在...
**xmemcached:高效、强大的Memcached客户端** xmemcached是一个高性能、易用且功能丰富的Java Memcached客户端库。它提供了全面的API,使得开发者能够方便地与Memcached缓存系统进行交互,从而提高Web应用的性能和...
xmemcached-1.2.6.2
本文将深入探讨memcache的三种常见Java客户端实现:spymemcached、xmemcached和原生的memcache接口。 1. **spymemcached**: spymemcached是由Spy公司开发的一个开源Java客户端,它是Memcached最常用的Java库之一...
**xmemcached API 文档详解** xmemcached 是一个高性能、线程安全的 Java 客户端库,用于连接和操作 Memcached 分布式内存缓存系统。它提供了丰富的 API,使得开发人员能够轻松地在应用程序中集成 Memcached 功能,...
测试类包括Xmemcached客户端与memcached client for java两者,可运行比较性能。 XMemcached简介: XMemcached是基于 java nio的Memcached客户端,java nio相比于传统阻塞 io 模型来说,有 效率高(特别在高并发下...
spring+xmemcached aop切面 需要xmemcached-1.2.5+spring-2.5.6 class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean" destroy-method="shutdown"> ${XMemcached_servers} <!-- ...
### Xmemcached用户指南知识点详解 #### 一、XMemcached简介 XMemcached是一款针对Java平台设计的高性能Memcached客户端。Memcached是一种分布式内存对象缓存系统,主要用于减轻数据库负担,提高动态Web应用程序的...
基于java nio实现的高性能可扩展的memcached客户端。虽然Java的memcached库已经很多,但是这些Java开源memcached库并没有一个是基于NIO框架编写,因此...xmemcached的项目主页在:http://code.google.com/p/xmemcached/
xmemcached.chm帮助文档
还在为找不到jar文件烦心吗,不用了到我空间来有你想要的,持续更新。。。 xmemcached-1.2.5.jar
xmemcached1.3.5源码-附带自己写的RMI调用它的JMX服务,使用RMI调用JMX服务的详细过程,完整的eclipse工程,直接导入即可用。还用一些运行截图,很有用。 自己写的例子,类名是BaseExample 和RMITest.
《深入解析xmemcached 2.4.5与2.3.2版本差异》 xmemcached是一款高性能、轻量级的Java客户端库,用于连接并操作Memcached分布式内存缓存系统。它提供了丰富的功能,包括异步操作、连接池管理、支持多种序列化方式等...
Xmemcached是基于java nio实现的高性能可扩展的memcached客户端。它的主要特点: 高性能,稳定可靠,已经在众多公司的众多项目里得到应用。 功能完备:客户端分布式、权重、最新最完整的协议支持。 ...