Memcache的介绍有很多,这里给出如何在Java中应用Memcache的基本方法
1 安装Memcache服务器(windows)
下载windows版Memcache安装包,如memcached-1.2.6-win32-bin.zip,解压到指定位置,比如(D://memcache),打开dos命令行,输入以下两个命令即可启动Memcache服务。
D:/memcache/memcached.exe -d install
D:/memcache/memcached.exe -d start
2 下载Java版本的memcache客户端(以下列出常用的几种)。
spymemcached :
http://code.google.com/p/spymemcached/
gwhalin / Memcached-Java-Client
https://github.com/gwhalin/Memcached-Java-Client/downloads
Jcache
http://code.google.com/intl/zh-CN/appengine/docs/java/memcache/usingjcache.html
3 下面给出两种方式调用Memcache
gwhalin / Memcached-Java-Client调用方式如下:
[java:nogutter] view plaincopyprint?public class MemcacheManagerForGwhalin {
// 构建缓存客户端
private static MemCachedClient cachedClient;
// 单例模式实现客户端管理类
private static MemcacheManagerForGwhalin INSTANCE = new MemcacheManagerForGwhalin();
private MemcacheManagerForGwhalin() {
cachedClient = new MemCachedClient();
//获取连接池实例
SockIOPool pool = SockIOPool.getInstance();
//设置缓存服务器地址,可以设置多个实现分布式缓存
pool.setServers(new String[]{"127.0.0.1:11211"});
//设置初始连接5
pool.setInitConn(5);
//设置最小连接5
pool.setMinConn(5);
//设置最大连接250
pool.setMaxConn(250);
//设置每个连接最大空闲时间3个小时
pool.setMaxIdle(1000 * 60 * 60 * 3);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
pool.initialize();
}
/**
* 获取缓存管理器唯一实例
* @return
*/
public static MemcacheManagerForGwhalin getInstance() {
return INSTANCE;
}
@Override
public void add(String key, Object value) {
cachedClient.set(key, value);
}
@Override
public void add(String key, Object value, int milliseconds) {
cachedClient.set(key, value, milliseconds);
}
@Override
public void remove(String key) {
cachedClient.delete(key);
}
@Override
public void remove(String key, int milliseconds) {
cachedClient.delete(key, milliseconds, new Date());
}
@Override
public void update(String key, Object value, int milliseconds) {
cachedClient.replace(key, value, milliseconds);
}
@Override
public void update(String key, Object value) {
cachedClient.replace(key, value);
}
@Override
public Object get(String key) {
return cachedClient.get(key);
}
}
public class MemcacheManagerForGwhalin {
// 构建缓存客户端
private static MemCachedClient cachedClient;
// 单例模式实现客户端管理类
private static MemcacheManagerForGwhalin INSTANCE = new MemcacheManagerForGwhalin();
private MemcacheManagerForGwhalin() {
cachedClient = new MemCachedClient();
//获取连接池实例
SockIOPool pool = SockIOPool.getInstance();
//设置缓存服务器地址,可以设置多个实现分布式缓存
pool.setServers(new String[]{"127.0.0.1:11211"});
//设置初始连接5
pool.setInitConn(5);
//设置最小连接5
pool.setMinConn(5);
//设置最大连接250
pool.setMaxConn(250);
//设置每个连接最大空闲时间3个小时
pool.setMaxIdle(1000 * 60 * 60 * 3);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setSocketConnectTO(0);
pool.initialize();
}
/**
* 获取缓存管理器唯一实例
* @return
*/
public static MemcacheManagerForGwhalin getInstance() {
return INSTANCE;
}
@Override
public void add(String key, Object value) {
cachedClient.set(key, value);
}
@Override
public void add(String key, Object value, int milliseconds) {
cachedClient.set(key, value, milliseconds);
}
@Override
public void remove(String key) {
cachedClient.delete(key);
}
@Override
public void remove(String key, int milliseconds) {
cachedClient.delete(key, milliseconds, new Date());
}
@Override
public void update(String key, Object value, int milliseconds) {
cachedClient.replace(key, value, milliseconds);
}
@Override
public void update(String key, Object value) {
cachedClient.replace(key, value);
}
@Override
public Object get(String key) {
return cachedClient.get(key);
}
}
Spy方式调用如下:
public class MemcacheManagerForSpy implements IMemcacheManager {
//缓存客户端
private MemcachedClient memcacheCient;
//Manager管理对象,单例模式
private static MemcacheManagerForSpy INSTANCE = new MemcacheManagerForSpy();
private MemcacheManagerForSpy() {
try {
memcacheCient = new MemcachedClient(new InetSocketAddress("127.0.0.1",11211));
} catch (IOException e) {
e.printStackTrace();
}
}
public static MemcacheManagerForSpy getInstance() {
return INSTANCE;
}
@Override
public void add(String key, Object value, int milliseconds) {
memcacheCient.add(key, milliseconds, value);
}
@Override
public void add(String key, Object value) {
memcacheCient.add(key, 3600, value);
}
@Override
public void remove(String key, int milliseconds) {
memcacheCient.delete(key);
}
@Override
public void remove(String key) {
memcacheCient.delete(key);
}
@Override
public void update(String key, Object value, int milliseconds) {
memcacheCient.replace(key, milliseconds, value);
}
@Override
public void update(String key, Object value) {
memcacheCient.replace(key, 3600, value);
}
@Override
public Object get(String key) {
return memcacheCient.get(key);
}
}
分享到:
相关推荐
标题"memcache1.2.1 for windows"指的是Memcache的1.2.1版本,这是专为Windows操作系统设计的一个内存缓存系统。Memcache是一个广泛使用的开源高性能分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对...
### Memcache安装与基本操作详解 #### 一、前言 Memcache是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用,减轻数据库负担。本文将详细介绍如何安装配置Memcache,并提供基本的操作示例。 #### 二、...
memcache是广泛应用于Web开发中的一个内存对象缓存系统,它能够提高网站性能,通过将数据存储在内存中,减少对数据库的访问,从而加快数据读取速度。 PHP的memcache扩展允许开发者在PHP应用程序中与memcached服务器...
**Memcache Win版服务器与.NET驱动详解** Memcache是一款高性能的分布式内存缓存系统,它最初是为了解决Web应用程序的数据库负载问题而设计的。通过将数据存储在内存中,Memcache能够快速地提供数据,减少对数据库...
Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...
**Memcache 深度解析** Memcache 是一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于缓解数据库的负载压力。它通过将数据存储在内存中,以便快速访问,从而提高应用程序的响应速度。在本文中,...
**Memcache** 是一款高效的分布式内存对象缓存系统,它被广泛应用于Web应用程序中,用于减轻数据库负载,提高数据读取速度。在Windows操作系统上,尤其是64位的Windows 7系统,安装和配置Memcache可以帮助提升应用...
Memcache 是一个高性能的分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对数据库的访问,从而提高Web应用的性能。在PHP环境中,Memcache扩展使得PHP脚本可以直接与Memcache服务器进行交互,实现数据的...
$memcache = new Memcache; // 连接到Memcached服务器 $memcache->connect('localhost', 11211) or die("无法连接"); // 存储数据 $memcache->set('key', 'value', 0, 60); // key是键,value是值,0表示非持久化...
标签 "memcached" 和 "memcache.dll" 都与分布式缓存服务有关,但请注意,`memcache` 和 `memcached` 是两个不同的扩展。`memcache` 是用于与原始Memcached服务交互的PHP扩展,而 `memcached` 是另一个扩展,通常...
Memcache是另一种重要的技术,它是一个高性能的分布式内存对象缓存系统,可以用来提高动态网站的速度。在PHP中,通过扩展来支持Memcache,使得数据存储和检索更加便捷。本文将围绕...
Memcache是一款高性能的分布式内存对象缓存系统,它可以用来存储各种数据,如数据库查询结果、静态文件等,以减少对数据库的访问,提高网站性能。在Windows操作系统上配置PHP与Memcache的扩展,可以实现PHP应用程序...
Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...
【Memcache原理及实现】 Memcache,全称Memcached,是一种高性能的分布式内存对象缓存系统,主要用于减轻数据库的负载。它将数据存储在内存中,以键值对的形式提供快速访问,尤其适用于高并发场景。Memcache最初由...
**memCache源码分析——Java客户端** memCache是一款高性能、分布式的内存对象缓存系统,常用于减轻数据库的负载,提升应用性能。它的主要特点是基于内存存储,操作速度快,无持久化机制,适用于缓存非关键数据。在...
标题中的“php_memcache-3.0.9 for php7-nts-vc14-x64 扩展DLL,亲测有效”表明这是一个专为PHP 7设计的Memcache扩展库,版本为3.0.9,适用于非线程安全(NTS)且基于Visual C++ 14编译器的64位系统。这个扩展是经过...
MemCache是一种广泛应用于Web开发中的高性能分布式内存对象缓存系统,其主要目的是通过将数据存储在内存中,以便快速访问,从而显著提升系统的响应速度。最初由Danga Interactive开发,主要用于提升LiveJournal的...
最新windows的memcache模块下载 这个模块是平和php5.3的,在我的windowsxp php5.3.5上安装成功 里面有两个php库,一个php_memcache.dll.vc6 和一个php_memcache.dll.vc9 另外一个windows的memcache.exe文件,都是网上...
**MEMCACHE_COMPRESSED** 是一个整型常量,用于在使用`Memcache::set()`, `Memcache::add()`和相关方法时开启压缩功能,这有助于在网络传输过程中减小数据包的大小,从而提高数据读写效率,特别适用于处理大量文本或...