日期:2014-05-16  浏览次数:20395 次

memcached 的简单命令和Java 使用 memcached 的简单例子
简单的基本命令
Set:set 命令用于向缓存添加新的键值对。如果键已经存在,则之前的值将被替换。
Add:仅当缓存中不存在键时,add 命令才会向缓存中添加一个键值对。如果缓存中已经存在键,则之前的值将仍然保持相同,并且您将获得响应 NOT_STORED。
Replace:仅当键已经存在时,replace 命令才会替换缓存中的键。如果缓存中不存在键,那么您将从 memcached 服务器接受到一条 NOT_STORED 响应
Get:get 命令用于检索与之前添加的键值对相关的值。您将使用 get 执行大多数检索操作。
Delete:最后一个基本命令是 delete。delete 命令用于删除 memcached 中的任何现有值。您将使用一个键调用delete,如果该键存在于缓存中,则删除该值。如果不存在,则返回一条NOT_FOUND 消息。
Gets: gets 命令的功能类似于基本的 get 命令。两个命令之间的差异在于,gets 返回的信息稍微多一些:64 位的整型值非常像名称/值对的 “版本” 标识符。
Cas :cas(check 和 set)是一个非常便捷的 memcached 命令,用于设置名称/值对的值(如果该名称/值对在您上次执行 gets 后没有更新过)。它使用与 set 命令相类似的语法,但包括一个额外的值:gets 返回的额外值。
flush_all  :flush_all 是最后一个要介绍的命令。这个最简单的命令仅用于清理缓存中的所有名称/值对。如果您需要将缓存重置到干净的状态,则 flush_all 能提供很大的用处

创建java项目应用memcached
首先到http://danga.com/memcached/下载memcached的windows版本和java客户端jar包,解压后我放到D盘下。首先是安装运行memcached服务器,我们将memcached的jar解压后,进入其目录,然后运行如下命令:

D:\ memcached1.4> memcached.exe -d install
在eclipse中建立java项目,导入commons-pool-1.5.6.jar,java_memcached-release_2.6.1.jar,slf4j-api-1.6.1.jar,slf4j-simple-1.6.1.jar四个jar包

项目代码入下

package com.yun.Memcahed.cache;

import java.util.Date;

import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

/**
* ClassName:Mycache <br/>
* Function: TODO ADD FUNCTION. <br/>
* Reason: TODO ADD REASON. <br/>
* Date:     2013-1-11 上午11:08:05 <br/>
* @version 
* @since    JDK 1.6
* @see
*/
public class Mycache {

    // 创建一个 memcached 客户端对象
   private   static  MemCachedClient client=new MemCachedClient();     
   protected static Mycache memCached = new Mycache();
        // 创建  memcached连接池
        static{
        // 指定memcached服务地址
        String [] addr ={"127.0.0.1:11211"}; 
        // 指定memcached服务器负载量
             Integer [] weights = {3}; 
             // 从连接池获取一个连接实例
             SockIOPool pool = SockIOPool.getInstance(); 
             // 设置服务器和服务器负载量
             pool.setServers(addr); 
             pool.setWeights(weights);
             // 设置一些基本的参数
             //设置初始连接数5   最小连接数 5   最大连接数 250
             //设置一个连接最大空闲时间6小时
             pool.setInitConn(5); 
             pool.setMinConn(5); 
             pool.setMaxConn(250); 
 &n