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);
}
}
分享到:
相关推荐
最新windows的memcache模块下载 这个模块是平和php5.3的,在我的windowsxp php5.3.5上安装成功 里面有两个php库,一个php_memcache.dll.vc6 和一个php_memcache.dll.vc9 另外一个windows的memcache.exe文件,都是网上...
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从...
windows下memcache安装包 附带php扩展包
PHP 添加 Memcache 扩展 : 下载包中包括如下: php_memcache-3.0.8-5.5-nts-vc11-x64.zip php_memcache-3.0.8-5.5-nts-vc11-x86.zip php_memcache-3.0.8-5.5-ts-vc11-x64.zip ...
$memcache = new Memcache; $memcache->connect("localhost",11211); echo "Server's version: " . $memcache->getVersion() . "\n"; $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_object->...
Memcache就不用多介绍了,做开发的人都知道。 但要用得好,却并不是那么容易的事。 如果用得不好,反而得不偿失。 这篇文档短小精悍,囊括了使用过程中需要要注意的方方面面。值得一读。
php的memcache扩展,linux下的,php的memcache扩展分为两种,一种是memcache,一种是基于libmemcached的memcached,这个是memcache版本的beta版本
无需php-memcache扩展支持,引入单个文件即可连接memcached服务。 使用方法: $mc = new memcached(array( 'servers' => array('127.0.0.1:11211'), 'debug' => false, 'compress_threshold' => 10240, '...
php_memcache.dll
windows memcache 安装服务,php_memcache.dll所有版本扩展dll 安装说明 在命令行下安装Memcache,输入 ‘c:/memcached/memcached.exe -d install’。 3.启动Memcache,再输入: ‘c:/memcached/memcached.exe -d ...
Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面,"注意这里一定要在超级管理员下执行,否则会出现问题")下输入 'c:\memcached\...
MemCache.0.2.0.zip Memcached Client for Delphi 客户端调用类 MemCache.0.2.0.zip Show all LinksExternal links Memcached Project This project is a delphi unit which implements a thread safe client for ...
赠送jar包:netty-codec-memcache-4.1.73.Final.jar; 赠送原API文档:netty-codec-memcache-4.1.73.Final-javadoc.jar; 赠送源代码:netty-codec-memcache-4.1.73.Final-sources.jar; 赠送Maven依赖信息文件:...
win版的memcache,包括.net的驱动
memcache图形监控工具phpmemcache,尽是一个PHP文件就可以实现对memcache的监控。 使用方法:本地测试监控机安装Apache或者下载XAMPP(Apache+MySQL+PHP+PERL),安装后把memcachephp.zip中的memcache.php文件放到...
$memcache = new Memcache; $memcache->connect("localhost",11211); echo "Server's version: " . $memcache->getVersion() . "\n"; $tmp_object = new stdClass; $tmp_object->str_attr = "test"; $tmp_...
memcache的客户端,用maven构建,里有用hibernate-memcached与hibernate,spring3.0进行配置,也有与spring3.0单独配置。
memCache 源码 java客户端.实例
memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问。
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等; 2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储; 3...