`

Memcached例子

    博客分类:
  • java
阅读更多

大致步骤:

 1、创建一个SockIOPool 实例对象。

 2、初始化一些值并与MemcachedServer段建立连接。

 3、创建MemCachedClient实例对象。

 4、通过MemCachedClient的set方法将值放到缓存。

 5、通过MemCachedClient的get方法将值从缓存中取出来。

 

问题:

 1、SockIOPool 是怎样与MemcachedServer建立连接的?看过源码,找不到,也没有判断SockIOPool 中保存的ip是否合法或者是否有装缓存等。

 2、SockIOPool 与MemcachedServer建立连接后,MemCachedClient做完相关的get、set操作,需要将这个链接释放吗?

 

 

 

例子:

 

package mmc;
       

import java.util.Date;       
      
import com.danga.MemCached.MemCachedClient;       
import com.danga.MemCached.SockIOPool;       
  
public class Test {           
    protected static MemCachedClient mcc = new MemCachedClient();          
          
    static {     
    	 //创建一个实例对象SockIOPool        
        SockIOPool pool = SockIOPool.getInstance();     
        if(!pool.isInitialized())
        {
        //设置服务器信息	
        String[] servers ={"192.168.1.18:12000"};          
        //设置权重  
        Integer[] weights = { 3 };          
        // set the servers and the weights       
        //设置Memcached Server       
        pool.setServers( servers );          
        pool.setWeights( weights );          
          
        // set some basic pool settings          
        // 5 initial, 5 min, and 250 max conns          
        // and set the max idle time for a conn          
        // to 6 hours    
        //设置初始连接数、最小和最大连接数
        pool.setInitConn( 5 );          
        pool.setMinConn( 5 );          
        pool.setMaxConn( 250 );          
        pool.setMaxIdle( 1000 * 60 * 60 * 6 );          
          
        // set the sleep for the maint thread          
        // it will wake up every x seconds and          
        // maintain the pool size          
        pool.setMaintSleep( 30 );          
          
        // Tcp的规则就是在发送一个包之前,本地机器会等待远程主机       
                  // 对上一次发送的包的确认信息到来;这个方法就可以关闭套接字的缓存,       
                  // 以至这个包准备好了就发;       
                  pool.setNagle( false );          
        //连接建立后对超时的控制       
                  pool.setSocketTO( 3000 );       
        //连接建立时对超时的控制       
                  pool.setSocketConnectTO( 0 );          
          
        // initialize the connection pool          
        //初始化一些值并与MemcachedServer段建立连接       
                  pool.initialize();       
                  
        }
        // lets set some compression on for the client          
        // compress anything larger than 64k          
        mcc.setCompressEnable( true );          
        mcc.setCompressThreshold( 64 * 1024 );          
    }          
              
    public static void bulidCache(){          
        //set(key,value,Date) ,Date是一个过期时间,如果想让这个过期时间生效的话,这里传递的new Date(long date) 中参数date,需要是个大于或等于1000的值。       
        //因为java client的实现源码里是这样实现的 expiry.getTime() / 1000 ,也就是说,如果 小于1000的值,除以1000以后都是0,即永不过期       
        mcc.set( "test", "This is a test String" ,new Date(999));      
    //十秒后过期       
                 
    }          
         
    public static void output() {          
        //从cache里取值       
        String value = (String) mcc.get( "test" );          
        System.out.println(value);           
    }          
              
    public static void main(String[] args){          
       System.out.println("bulidCache();");
    	//bulidCache();         
        output();              
    }        
          
}         

 

分享到:
评论

相关推荐

    nginx+tomcat+memcached例子

    【标题】"nginx+tomcat+memcached例子"揭示了一个集成Web服务器技术的场景,其中Nginx作为前端代理服务器,Tomcat作为后端Java应用服务器,而Memcached则作为一个分布式内存缓存系统来提高整体性能。这个组合常用于...

    JAVA-memcached简单例子

    在这个例子中,我们将使用spymemcached,因为它相对轻量级且易于使用。 3. **集成spymemcached** - 添加spymemcached依赖到你的项目。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    C# memcached客户端源码 测试例子

    学习并实践这些测试例子,可以帮助C#开发者熟练掌握使用Memcached进行缓存管理的技巧,提高应用的响应速度和整体性能。同时,对于分布式系统的设计和优化也有一定的指导意义。因此,这个压缩包对于正在或者计划使用...

    memcached实例

    在这个例子中,我们首先创建了一个连接到本地 Memcached 服务器的客户端,然后设置了键为 "test_key",值为 "Hello, Memcached!" 的缓存条目。最后,我们通过键获取并打印了缓存值。 ### 四、清除缓存 要删除特定...

    memcached for java client 例子

    "memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...

    java 写的memCached小例子.

    **Java实现Memcached小例子详解** Memcached是一种高性能的分布式内存对象缓存系统,它能够将数据存储在内存中,从而提高应用程序的响应速度。在Java中,我们可以使用各种库来与Memcached进行交互,例如...

    Memcached C# 案例

    Memcached是一种高性能、分布式内存对象缓存系统,用于在分布式计算环境中存储临时数据,从而减少对数据库的访问,提高应用程序的性能。它被广泛应用于Web应用中,通过将常用数据缓存在内存中,来减少数据库的负载,...

    python-memcached python-memcached

    在这个例子中,我们首先导入memcache模块,然后创建一个连接到本地Memcached服务器(默认端口11211)的客户端。接着,我们使用`set`方法存储键值对,最后使用`get`方法检索数据。 总的来说,Python-memcached库是...

    java使用Memcached简单教程

    在这个例子中,我们创建了一个名为`MemcachedExample`的类,并实现了两个基本的方法:`set`用于设置键值对,`get`用于获取存储的值。 #### 四、监控与维护 ##### 4.1 监控 为了监控Memcached的运行状态,可以使用...

    memcached window

    这个例子展示了如何创建一个`Memcached`对象,连接到本地的Memcached服务器,存储一个键值对,然后取出这个值。实际应用中,你可以根据需要存储和检索更复杂的数据结构,如数组或对象。 **优化和维护** 为了确保...

    memcached源代码分析

    7. **案例研究**:通过实际例子演示memcached在实际应用中的配置和使用。 通过这两个文件的学习,可以深入理解memcached的内部工作机制,为优化和自定义memcached提供理论基础,或者帮助开发者在类似项目中应用...

    windows下vc/vc++链接memcached代码

    在这个例子中,我们有一个名为`memcacheclient`的压缩包,它可能包含了编译好的Memcached客户端库。解压缩文件后,你会找到一个.sln解决方案文件,这是一个Visual Studio项目文件。 1. **打开Visual Studio项目**:...

    java中连接memcached服务器

    以下是如何存储字符串的例子: ```java String key = "myKey"; String value = "myValue"; client.set(key, 60, value); // 60秒过期时间 ``` 3. 获取数据: ```java String retrievedValue = (String) ...

    memcached和java关联的一些网上例子

    标题“memcached和java关联的一些网上例子”表明了本文将探讨如何在Java编程环境中集成和使用memcached,一个流行的分布式内存对象缓存系统。这个标题适用于初学者,意味着我们将讨论基本的概念、配置以及通过Java...

    memcached1

    下面从一个实际的例子来应用memcached。 首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包,目前最新版本是memcached-1.2.1-win32.zip和java_memcached-release_1.6.zip,分别解压后...

    在Linux上安装Memcached服务

    在例子中,使用的版本是libevent-1.3,但应选择与当前系统兼容的最新版本。 下载完成后,遵循以下步骤进行安装: 1. 安装libevent: - 解压缩下载的libevent源代码包:`# tar zxvf libevent-1.3.tar.gz` - 进入...

    Memcached的安装(包括所需文件和例子)

    1安装Memcached所需的文件;...3.运用Memcached的例子(需先按步骤把环境搭了,例子是vs2010环境下的,各位自行研究其方法);4.简单介绍Memcached的ppt。(其中例子和ppt是我们项目组内部培训用的,写的比较简单)

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

    **memcached** 是一款高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用性能。在Linux系统上安装和配置memcached,并通过Java客户端进行调用是常见的操作流程,下面将详细介绍这一过程。 ### 一...

    Spring memcached 源码

    在这个例子中,`@Cacheable`注解使得每次调用`getOrganization`时,如果缓存中存在对应`id`的组织,则直接返回缓存值,否则查询数据库并存入缓存。`@CacheEvict`注解则会在调用`deleteOrganization`方法时,清除对应...

    c# asp.net memcached client 调用示例

    在这个例子中,我们看到压缩包中包含了以下文件: 1. log4net.dll - 这是Apache的log4net日志框架,用于记录应用程序运行时的信息,帮助调试和跟踪代码。 2. ICSharpCode.SharpZipLib.dll - 这是SharpZipLib库,...

Global site tag (gtag.js) - Google Analytics