memcache windows 基本安装和测试

一、序言

       这里先简单介绍下memcache 缓存在windows 上的安装 以及应用,然后再进行一些简单的测试,客户端用是xmemcached ,因为业界整体效果不错

   

      1.先现在windos 64 位的,我是win8,

         参考:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available,解压到           。     f:\memcache\下

      2.打开DOS 在文件目录下执行:memcached.exe -d install 就安装好了,简单吧 - -

      3.创建服务,大部分介绍时 memcached.exe -d start 简单吧,默认是11211 端口,可以通过

        -p 11211 指定端口,-m 512指定大小,其他命令暂时不介绍,记得用管理员身份哦~。~

       4 . 为了多开几个服务端口,我们还可以这样:

         sc create "memcached1" start= auto binPath= "f:\memcached\memcached.exe -d runservice -p                11211" DisplayName= "memcached1"

       

      5 .创建服务:auto 开机启动,注意= 后面的空格,建立3个服务:11211 11212 11213,本机启3个。

        

       6 .查看端口

        netstat -ano|findstr "11211" 这些有值就说明开启了。

        其他命令

        sc start memcached1 

        sc stop memcached1 

        sc delete memcached1

二、简单测试:

       这里用xmcached的,至于为什么用它,可以参考性能对比:

       http://xmemcached.googlecode.com/svn/trunk/benchmark/benchmark.html

      

       2.1 先看看maven 引入吧,这里是2.0 的了,新元素挺多的的

        源码下载:https://github.com/killme2008/xmemcached/releases/tag/xmemcached-2.0.0

        开源地址:https://github.com/killme2008/xmemcached

       

   <dependency>
            <groupId>com.googlecode.xmemcached</groupId>
            <artifactId>xmemcached</artifactId>
            <version>2.0.0</version>
        </dependency>

    

   2.2 基本实现:

   

import net.rubyeye.xmemcached.*;
import net.rubyeye.xmemcached.command.BinaryCommandFactory;
import net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator;
import net.rubyeye.xmemcached.utils.AddrUtil;

/**
 * Created by qiqiang on 2014/12/19.
 */
public class XMemcacheClient {
    public static void main(String[] args) throws  Exception{
        // 这里测试用了我们刚才建立的3个服务
        MemcachedClientBuilder builder = new
                XMemcachedClientBuilder(AddrUtil.getAddresses("localhost:11211 localhost:11212 localhost:11213"),new int[]{1,1,1});
        MemcachedClient memcachedClient= builder.build();
        // 客户端分布 一致性hash
        builder.setSessionLocator(new KetamaMemcachedSessionLocator(HashAlgorithm.CRC32_HASH));
        // 用序列化 二进制协议 ,默认是  TextCommandFactory
        builder.setCommandFactory(new BinaryCommandFactory());
        // nio 连接池大小,这玩意儿 不一定越大越好,根据资源来定
        // 而且多个连接会有数据不同步的问题,提供的cas 可以解决
        builder.setConnectionPoolSize(3);
        // 宕机报警
        builder.setFailureMode(true);

        // 第二个参数是秒,表示10秒后 清除这个元素,这里的自定义设置  也是我最喜欢的,ehcache - -就不没到!
        // 0 表示永久,默认是1个月
        memcachedClient.delete("name");
        // set 比add 方便,可以更新 可以添加
        memcachedClient.set("name",10,"张三");
        System.out.println(memcachedClient.get("name"));

        // 删除再获取
//        memcachedClient.delete("name");
//        System.out.println(memcachedClient.get("name"));

        // 这个
        GetsResponse<String> result = memcachedClient.gets("name");
        memcachedClient.cas("name",1,"李四",result.getCas());
        System.out.println(memcachedClient.get("name"));
        // 关闭
        memcachedClient.shutdown();
    }
}

 小结:

       1.上面做一个简单的安装 测试,有错误请指出的啦~。~

       2.iteye 服务 重启还是啥的,没自动保存,不见了些东西,剩下的就留下一些资料吧,方便大家看:

      文档地址:https://code.google.com/p/xmemcached/wiki/User_Guide_zh

      API 地址:http://fnil.net/docs/xmemcached/net/rubyeye/xmemcached/XMemcachedClient.html

猜你喜欢

转载自greemranqq.iteye.com/blog/2168703