`

memCache

阅读更多

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版php_memcache.dll和memcache.exe

    最新windows的memcache模块下载 这个模块是平和php5.3的,在我的windowsxp php5.3.5上安装成功 里面有两个php库,一个php_memcache.dll.vc6 和一个php_memcache.dll.vc9 另外一个windows的memcache.exe文件,都是网上...

    MemCache开发说明文档

    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从...

    memcache1.2.1 for windows

    windows下memcache安装包 附带php扩展包

    PHP5.5/5.6的 32&63 VC11 Memcache扩展php_memcache.dll

    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 ...

    php_memcache 服务扩展

    $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完全剖析 最实用的Memcache文档

    Memcache就不用多介绍了,做开发的人都知道。 但要用得好,却并不是那么容易的事。 如果用得不好,反而得不偿失。 这篇文档短小精悍,囊括了使用过程中需要要注意的方方面面。值得一读。

    memcache-3.0.8.tgz

    php的memcache扩展,linux下的,php的memcache扩展分为两种,一种是memcache,一种是基于libmemcached的memcached,这个是memcache版本的beta版本

    php-memcache单文件类库

    无需php-memcache扩展支持,引入单个文件即可连接memcached服务。 使用方法: $mc = new memcached(array( 'servers' => array('127.0.0.1:11211'), 'debug' => false, 'compress_threshold' => 10240, '...

    PHP7.x 8.0 memcache dll php_memcache.dll

    php_memcache.dll

    Memcache win32

    windows memcache 安装服务,php_memcache.dll所有版本扩展dll 安装说明 在命令行下安装Memcache,输入 ‘c:/memcached/memcached.exe -d install’。 3.启动Memcache,再输入: ‘c:/memcached/memcached.exe -d ...

    windows下php memcache的安装

    Windows下的Memcache安装: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面,"注意这里一定要在超级管理员下执行,否则会出现问题")下输入 'c:\memcached\...

    delphi memcache MemCache.0.2.0.zip

    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 ...

    netty-codec-memcache-4.1.73.Final-API文档-中文版.zip

    赠送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依赖信息文件:...

    Memcache win版 服务器和.net驱动

    win版的memcache,包括.net的驱动

    memcache图形监控工具phpmemcache

    memcache图形监控工具phpmemcache,尽是一个PHP文件就可以实现对memcache的监控。 使用方法:本地测试监控机安装Apache或者下载XAMPP(Apache+MySQL+PHP+PERL),安装后把memcachephp.zip中的memcache.php文件放到...

    memcache.dll(5.2/5.3/5.4/5.5)

    $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也spring,hibernate的配置

    memcache的客户端,用maven构建,里有用hibernate-memcached与hibernate,spring3.0进行配置,也有与spring3.0单独配置。

    memCache源码java客户端

    memCache 源码 java客户端.实例

    memcache安装包,memcache

    memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,但目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问。

    Redis和Memcache的区别总结

    1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等; 2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储; 3...

Global site tag (gtag.js) - Google Analytics