`
玉玲珑_gooner
  • 浏览: 1669 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

java中如何调用MemCached客户端

阅读更多

如今nosql日益盛行,对于互联网行业开发的各位同仁弟兄想来对于memcached并不陌生。

今天,我主要说一下如果通过java代码操作memcached。

memcached当前使用的客户端主要有的com.danga.MemCached.*客户端,和xMemCached客户端。

根据二狗子的实际开发经验xmemcached的效率和速度明显快于dangajava客户端(现在我们公司也用的是xmemcached客户端),但是据说xmemcached不稳定,所以具体如何选择,就要看各位弟兄公司内部决策啦。现在我先把com.danga的客户端代码发上来一下下篇发送xmemcached客户端代码。闲话少说,二狗子这就把java代码黏贴上来(各位兄弟可以根据注释读代码)。

 

package test;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
/**
 * 
 * @author 仔仔
 *
 */
public class MemCachedManager  {
	// 创建一个MemCachedClient客户端用来连接mc数据库
    protected static MemCachedClient mcc = new MemCachedClient();
     
    protected static MemCachedManager memCached = new MemCachedManager();
     
    // 设置与缓存服务器的连接池
    static {
        // 配置服务器ip和端口
        String[] servers = { "10.0.16.122:11211" };
        Integer[] weights = { 3 };
  
        // 获取socke连接池的实例对象
        SockIOPool pool = SockIOPool.getInstance();
  
        // 设置服务器信息
        pool.setServers( servers );
        pool.setWeights( weights );
  
        // 设置初始连接数、最小和最大连接数以及最大处理时间
        pool.setInitConn( 5 );
        pool.setMinConn( 5 );
        pool.setMaxConn( 250 );
        pool.setMaxIdle( 1000 * 60 * 60 * 6 );
  
        // 设置主线程的睡眠时间
        pool.setMaintSleep( 30 );
  
        // 设置TCP的参数,连接超时等
        pool.setNagle( false );
        pool.setSocketTO( 3000 );
        pool.setSocketConnectTO( 0 );
  
        // 初始化连接池
        pool.initialize();
  
        // 压缩设置,超过指定大小(单位为K)的数据都会被压缩
//        mcc.setCompressEnable( true );
//        mcc.setCompressThreshold( 64 * 1024 );
    }
     
    /**
     * 为保证连接唯一防止打开链接过多,所以不开发构造方法
     *
     */
    protected MemCachedManager()
    {
         
    }
     
    /**
     * 获取实例入口.
     * @return
     */
    public static MemCachedManager getInstance()
    {
        return memCached;
    }
     
    /**
     * 添加一个指定的值到缓存中.
     * @param key
     * @param value
     * @return
     */
    public boolean add(String key, Object value)
    {
        return mcc.add(key, value);
    }
     
    public boolean add(String key, Object value, Date expiry)
    {
        return mcc.add(key, value, expiry);
    }
     
    public boolean replace(String key, Object value)
    {
        return mcc.replace(key, value);
    }
     
    public boolean replace(String key, Object value, Date expiry)
    {
        return mcc.replace(key, value, expiry);
    }
    
    public boolean delete(String key)
    {
        return mcc.delete(key);
    }
     
    /**
     * 根据指定的关键字获取对象.
     * @param key
     * @return
     */
    public Object get(String key)
    {
        return mcc.get(key);
    }
     

    
    public static void main(String[] args) {
    	MemCachedManager mc = MemCachedManager.memCached;;
    	mc.add("echo", "二狗子");
    	System.out.println("mc.get(echo)="+mc.get("echo"));
    	mc.delete("users.id.26887");
	}

	
}

 以上便是一个简单的连接池和几个简单的操作函数。实际项目中一般配置到properties文件然后通过spring配置文件构造连接的方法使用的,但是原理一样(这种调用后期我会下的,各位亲)。

 

需要说明的是,memcached可以存储对象,只要对象序列化后,可以把对象作为流存储到数据库内。这对实际开发用处十分大,比如说我们有一些官方帖子,访问比较频繁,如果存到mc中访问会很给力哦~哈。

今天就说到这里吧。希望我的小代码对各位亲有帮助。

最后说一句壮烈的话,写自己的对象,让别人谈恋爱去吧~~哈哈

分享到:
评论

相关推荐

    JAVA 客户端调用 memcached分布式的高速缓存系统

    JAVA 客户端调用 memcached分布式的高速缓存系统

    oracle掉用memcached,得用oracle调用java,java调用memcached

    通过这样的集成,Oracle可以在需要时通过Java调用Memcached,将频繁查询的数据存储在内存中,提高响应速度,同时减轻了对数据库的读写压力。这种架构在大型、高并发的Web应用中尤其有用,能够显著提升用户体验。 ...

    java_memcached-release_2.5.1.jar Memcache java jar 包

    在本例中,我们关注的是`java_memcached-release_2.5.1.jar`这个文件,这是一个包含了Java Memcached客户端库的JAR(Java Archive)包,版本号为2.5.1。 Java Memcached客户端库由Danga Interactive开发,该公司是...

    memcached linux安装说明+ java客户端调用例子

    `Memcached.java` 文件很可能是包含Java客户端调用memcached示例代码的源文件,你可以打开这个文件查看具体的实现细节。它通常会包含上述步骤中的函数调用,比如设置、获取、删除键值对等操作。 ### 四、`memcache...

    memcached客户端与服务端

    - **连接与断开**:客户端通过创建连接对象(如 PHP 中的 `new Memcache`)来连接 Memcached 服务端,然后可以调用 `connect` 方法。完成操作后,使用 `close` 断开连接。 - **数据操作**:客户端提供 `get`、`set`...

    java调用memcached

    Java调用Memcached是将Java应用程序与分布式内存缓存系统Memcached进行交互的过程。Memcached是一种高性能、轻量级的缓存服务,常用于减轻数据库负载,提高网站或应用的响应速度。在Java中,我们可以使用各种客户端...

    java_memcached-release_1.6.zip

    Java开发者可以将这些jar文件添加到项目的类路径中,以便调用Memcached的相关API。 在“java_memcached-release_1.6”这个压缩包子文件的文件名称列表中,我们通常会看到以下内容: 1. 源代码文件夹(src目录),...

    java_memcached-release_2.6.3.zip

    在Java Memcached客户端中,它用于管理连接池,即高效地重复使用已经创建的对象,而不是每次需要时都创建新的对象,这可以显著提高性能并减少系统资源的消耗。 2. **java_memcached-release_2.6.3.jar**:这是Java ...

    memcached java客户端驱动包

    使用Java Memcached驱动包的基本步骤通常包括:导入`mem-java.jar`库,创建Memcached客户端实例,配置服务器列表,然后调用相应接口进行数据操作。同时,可以结合`mem-doc`中的文档来获取详细的使用指南和API说明。 ...

    memcached客户端包memcached-1.4.12.tar.gz

    1. **下载与安装**:这个包是Memcached客户端的一个特定版本,可以通过解压`memcached-1.4.12.tar.gz`来获取源代码,然后在Linux环境下编译安装。 2. **API支持**:包含C,C++,Python,PHP,Java,Perl等语言的...

    memcached1.4.13(32、64位windows)在.Net中使用.zip

    3. 使用Memcached服务:在需要使用缓存的地方,通过单例类获取到Memcached客户端实例,然后调用其提供的方法进行操作,如设置、获取、删除缓存项。 ```csharp var value = MemcachedSingleton.Instance.Get("key");...

    几种.net调用memcached的开源类库

    本篇文章将重点介绍其中的一种——Enyim.Caching,并探讨其与其他Java调用Memcached示例的互通性。 首先,Enyim.Caching是.NET社区中广泛使用的Memcached客户端库,它提供了全面的功能,包括连接管理、序列化、操作...

    java连接memcached示例代码

    // 创建Memcached客户端连接 MemcachedClient client = new MemcachedClient( new ConnectionFactoryBuilder().setProtocol(DefaultConnectionFactory.Protocol.BINARY) .build(), AddrUtil.getAddresses(...

    spring调用memcached client for java

    标题 "spring调用memcached client for java" 涉及的是如何在Java应用程序中,特别是Spring框架下,集成和使用Memcached作为缓存系统。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提升...

    memcached java client

    Java Memcached客户端是为Java开发者提供的一种与Memcached服务器交互的库,允许在Java应用程序中方便地存储和检索数据。 在`java_memcached-release_2.5.2.zip`这个压缩包中,包含了以下组件和资源,帮助我们理解...

    memcached client for java

    memcached的java客户端jar包,方便调用memcached的服务

    java memcached2 源代码和安装文件下载

    Java Memcached2是一款基于Java实现的Memcached客户端库,它提供了与Memcached服务器通信的能力,以便在分布式环境中利用Memcached的高效缓存功能。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻...

    memcached工具类源码

    2. **Java中的Memcached客户端库** 在Java中,我们可以使用各种客户端库与Memcached通信,如Spymemcached、Xmemcached、MemcachedClient等。这些库提供了方便的方法来操作Memcached服务器,包括设置、获取、删除和...

    memcached-impl:java调用memcached实现

    **标题解析:** "memcached-impl:java调用memcached实现" 指的是一个项目或教程,它展示了如何在Java应用程序中使用memcached,一个高性能、分布式内存对象缓存系统。 **描述分析:** 描述中的 "#memcached-impl" ...

    缓存服务器memcached代码及使用文档

    在J2EE项目中,通常使用Java的Memcached客户端库(如spymemcached或xmemcached)来与Memcached服务器交互。以下是一般步骤: 1. 添加客户端库依赖:在项目的Maven或Gradle配置文件中引入对应的Memcached客户端库。 ...

Global site tag (gtag.js) - Google Analytics