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;
}
}
}
}
分享到:
相关推荐
标题 "spring调用memcached client for java" 涉及的是如何在Java应用程序中,特别是Spring框架下,集成和使用Memcached作为缓存系统。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提升...
本主题将深入探讨如何基于Java客户端对Memcached进行封装,以便更高效地在Java应用中使用它。 首先,我们需要理解Java中的Memcached客户端库,如spymemcached或xmemcached。这两个库都提供了与Memcached服务器通信...
"memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...
要配置Spring Memcached,我们需要在Spring的配置文件(如`applicationContext.xml`)中声明`MemcachedClient`。这通常涉及到以下步骤: 1. 引入依赖:在`pom.xml`或`build.gradle`中添加`spring-memcached`的依赖...
对于 Java 开发者,`MemCachedClient` 是一个常用的 Memcached 客户端库。这里我们关注的是 `java_memcached-release_2.6.6.jar` 文件,这是 Spymemcached 库的一个版本,它提供了与 Memcached 服务器通信的接口。 ...
1. **MemcachedClient for Java**:这是一种较早出现的客户端,以其稳定性和广泛应用而著称。 2. **SpyMemcached**:相比于MemcachedClient for Java,它在性能上有一定的优化。 3. **XMemcached**:该客户端在并发...
本篇文章将详细介绍两个常用的Java Memcached客户端:xmemcached和memcache-client-forjava。 **1. xmemcached** xmemcached是由Ketoo开发的一个高性能、高可用性的Java Memcached客户端。它提供了丰富的API,支持...
测试类包括Xmemcached客户端与memcached client for java两者,可运行比较性能。 XMemcached简介: XMemcached是基于 java nio的Memcached客户端,java nio相比于传统阻塞 io 模型来说,有 效率高(特别在高并发下...
MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); // 这里的"localhost"和"11211"是默认的Memcached服务器地址和端口 } catch (IOException e) { e.printStackTrace...
官方提供的Memcached Client for Java基于Java BIO实现,SpyMemcached和XMemcached则是基于Java NIO的实现,其中XMemcached在并发性能上表现更优,SpyMemcached也有不错的性能。在实际应用中,可以根据项目需求选择...
MemcachedClient client = new MemcachedClient(AddrUtil.getAddresses("localhost:11211")); // 存储一个键值对 client.set("key", 60, "value"); // key: 键,60: 超时时间(秒),value: 值 // 获取存储的...
类包括Xmemcached客户端实现和builder实现以及memcached client for java实现,对初学者有借鉴作用,特别是在开发简单例子时出现的超时情况的可以看看是否是同本事例相同。 xmemcached time out 5000 1000
MemcachedClient client = new MemcachedClient( new ConnectionFactoryBuilder().setProtocol(DefaultConnectionFactory.Protocol.BINARY) .build(), AddrUtil.getAddresses("127.0.0.1:11211")); // 假设...
- 客户端库:对于Java开发,常用的客户端库是memcached client for java(也称为spymemcached),它提供方便的API接口,便于Java应用程序与Memcache服务器进行通信。 - 其他依赖:在Windows环境下,可以下载预编译...
MemcachedClient memcachedClient = new MemcachedClient(new InetSocketAddress("localhost", 11211)); } catch (IOException e) { e.printStackTrace(); } ``` 一旦连接建立,我们就可以进行基本的存取操作。...
这次主要的优化工作还是在三个方面:应用服务器(Apache,JBoss)配置,业务流程,Cache Client包(http://code.google.com/p/memcache-client-forjava/ )。这里把过去和这次优化对于Cache的使用作一个经验分享,...
memcached在Java客户端调用时的源码。memcached源码中有一个bug,ip的传参形式为192.168.1.1:12301,到了sockiopool.java中用split(";")来解析ip和端口。这种情况在ipv6的环境下是行不通的。因为v6地址是[xxxx:xx:...
MemcachedClient client = new MemcachedClient(new BinaryConnectionFactory(), AddrUtil.getAddresses("localhost:11211")); ``` 3. **存储数据**: 使用`set`方法存储键值对,例如: ```java client.set("key...