`

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); 
    } 

 

分享到:
评论

相关推荐

    memcache1.2.1 for windows

    标题"memcache1.2.1 for windows"指的是Memcache的1.2.1版本,这是专为Windows操作系统设计的一个内存缓存系统。Memcache是一个广泛使用的开源高性能分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对...

    memcache安装与基本操作详解

    ### Memcache安装与基本操作详解 #### 一、前言 Memcache是一种高性能的分布式内存对象缓存系统,用于加速动态Web应用,减轻数据库负担。本文将详细介绍如何安装配置Memcache,并提供基本的操作示例。 #### 二、...

    PHP7.x 8.0 memcache dll php_memcache.dll

    memcache是广泛应用于Web开发中的一个内存对象缓存系统,它能够提高网站性能,通过将数据存储在内存中,减少对数据库的访问,从而加快数据读取速度。 PHP的memcache扩展允许开发者在PHP应用程序中与memcached服务器...

    Memcache win版 服务器和.net驱动

    **Memcache Win版服务器与.NET驱动详解** Memcache是一款高性能的分布式内存缓存系统,它最初是为了解决Web应用程序的数据库负载问题而设计的。通过将数据存储在内存中,Memcache能够快速地提供数据,减少对数据库...

    php 5.4.15 64位 memcache.dll

    Memcache 是一种广泛使用的分布式内存缓存系统,用于在 Web 应用程序中提高数据读取速度,通过存储经常访问的数据到内存中,避免了频繁的数据库查询,从而提升了整体性能。 描述中的“实测可以使用”意味着这个 ...

    【汇总】Memcache

    **Memcache 深度解析** Memcache 是一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于缓解数据库的负载压力。它通过将数据存储在内存中,以便快速访问,从而提高应用程序的响应速度。在本文中,...

    memcache win7 64位 安装文件

    **Memcache** 是一款高效的分布式内存对象缓存系统,它被广泛应用于Web应用程序中,用于减轻数据库负载,提高数据读取速度。在Windows操作系统上,尤其是64位的Windows 7系统,安装和配置Memcache可以帮助提升应用...

    memcache 扩展,php5.5 32,64 位,以及其他版本下载地址

    Memcache 是一个高性能的分布式内存对象缓存系统,它能够通过在内存中存储数据来减少对数据库的访问,从而提高Web应用的性能。在PHP环境中,Memcache扩展使得PHP脚本可以直接与Memcache服务器进行交互,实现数据的...

    PHP memcache 多版本拓展

    $memcache = new Memcache; // 连接到Memcached服务器 $memcache->connect('localhost', 11211) or die("无法连接"); // 存储数据 $memcache->set('key', 'value', 0, 60); // key是键,value是值,0表示非持久化...

    PHP7.1.xx-7.3xx各版本适配memcache.dll

    标签 "memcached" 和 "memcache.dll" 都与分布式缓存服务有关,但请注意,`memcache` 和 `memcached` 是两个不同的扩展。`memcache` 是用于与原始Memcached服务交互的PHP扩展,而 `memcached` 是另一个扩展,通常...

    php_memcache-2.2.7-7.0-nts-vc14-x64 扩展DLL

    Memcache是另一种重要的技术,它是一个高性能的分布式内存对象缓存系统,可以用来提高动态网站的速度。在PHP中,通过扩展来支持Memcache,使得数据存储和检索更加便捷。本文将围绕...

    windows php memcache 扩展

    Memcache是一款高性能的分布式内存对象缓存系统,它可以用来存储各种数据,如数据库查询结果、静态文件等,以减少对数据库的访问,提高网站性能。在Windows操作系统上配置PHP与Memcache的扩展,可以实现PHP应用程序...

    memcache安装php5.2.17的php_memcache.dll

    Memcache是一种广泛使用的分布式内存对象缓存系统,它可以在服务器集群间通过网络共享小块内存,从而提升应用程序的性能,减少数据库负载。在PHP中,我们通常使用php_memcache.dll扩展来与Memcache服务器进行交互。...

    Memcache原理及实现

    【Memcache原理及实现】 Memcache,全称Memcached,是一种高性能的分布式内存对象缓存系统,主要用于减轻数据库的负载。它将数据存储在内存中,以键值对的形式提供快速访问,尤其适用于高并发场景。Memcache最初由...

    memCache源码java客户端

    **memCache源码分析——Java客户端** memCache是一款高性能、分布式的内存对象缓存系统,常用于减轻数据库的负载,提升应用性能。它的主要特点是基于内存存储,操作速度快,无持久化机制,适用于缓存非关键数据。在...

    php_memcache-3.0.9 for php7-nts-vc14-x64 扩展DLL,亲测有效

    标题中的“php_memcache-3.0.9 for php7-nts-vc14-x64 扩展DLL,亲测有效”表明这是一个专为PHP 7设计的Memcache扩展库,版本为3.0.9,适用于非线程安全(NTS)且基于Visual C++ 14编译器的64位系统。这个扩展是经过...

    MemCache开发说明文档

    MemCache是一种广泛应用于Web开发中的高性能分布式内存对象缓存系统,其主要目的是通过将数据存储在内存中,以便快速访问,从而显著提升系统的响应速度。最初由Danga Interactive开发,主要用于提升LiveJournal的...

    最新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_php使用测试

    **MEMCACHE_COMPRESSED** 是一个整型常量,用于在使用`Memcache::set()`, `Memcache::add()`和相关方法时开启压缩功能,这有助于在网络传输过程中减小数据包的大小,从而提高数据读写效率,特别适用于处理大量文本或...

Global site tag (gtag.js) - Google Analytics