memcache windows 基本安装和测试

来源:互联网 发布:java程序设计培训班 编辑:程序博客网 时间:2024/05/22 06:20

一、序言

       这里先简单介绍下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

       

Java代码  收藏代码
  1. <dependency>  
  2.          <groupId>com.googlecode.xmemcached</groupId>  
  3.          <artifactId>xmemcached</artifactId>  
  4.          <version>2.0.0</version>  
  5.      </dependency>  
Java代码  收藏代码
  1. <dependency>  
  2.          <groupId>com.googlecode.xmemcached</groupId>  
  3.          <artifactId>xmemcached</artifactId>  
  4.          <version>2.0.0</version>  
  5.      </dependency>  

    

   2.2 基本实现:

   

Java代码  收藏代码
  1. import net.rubyeye.xmemcached.*;  
  2. import net.rubyeye.xmemcached.command.BinaryCommandFactory;  
  3. import net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator;  
  4. import net.rubyeye.xmemcached.utils.AddrUtil;  
  5.   
  6. /** 
  7.  * Created by qiqiang on 2014/12/19. 
  8.  */  
  9. public class XMemcacheClient {  
  10.     public static void main(String[] args) throws  Exception{  
  11.         // 这里测试用了我们刚才建立的3个服务  
  12.         MemcachedClientBuilder builder = new  
  13.                 XMemcachedClientBuilder(AddrUtil.getAddresses("localhost:11211 localhost:11212 localhost:11213"),new int[]{1,1,1});  
  14.         MemcachedClient memcachedClient= builder.build();  
  15.         // 客户端分布 一致性hash  
  16.         builder.setSessionLocator(new KetamaMemcachedSessionLocator(HashAlgorithm.CRC32_HASH));  
  17.         // 用序列化 二进制协议 ,默认是  TextCommandFactory  
  18.         builder.setCommandFactory(new BinaryCommandFactory());  
  19.         // nio 连接池大小,这玩意儿 不一定越大越好,根据资源来定  
  20.         // 而且多个连接会有数据不同步的问题,提供的cas 可以解决  
  21.         builder.setConnectionPoolSize(3);  
  22.         // 宕机报警  
  23.         builder.setFailureMode(true);  
  24.   
  25.         // 第二个参数是秒,表示10秒后 清除这个元素,这里的自定义设置  也是我最喜欢的,ehcache - -就不没到!  
  26.         // 0 表示永久,默认是1个月  
  27.         memcachedClient.delete("name");  
  28.         // set 比add 方便,可以更新 可以添加  
  29.         memcachedClient.set("name",10,"张三");  
  30.         System.out.println(memcachedClient.get("name"));  
  31.   
  32.         // 删除再获取  
  33. //        memcachedClient.delete("name");  
  34. //        System.out.println(memcachedClient.get("name"));  
  35.   
  36.         // 这个  
  37.         GetsResponse<String> result = memcachedClient.gets("name");  
  38.         memcachedClient.cas("name",1,"李四",result.getCas());  
  39.         System.out.println(memcachedClient.get("name"));  
  40.         // 关闭  
  41.         memcachedClient.shutdown();  
  42.     }  
  43. }  
Java代码  收藏代码
  1. import net.rubyeye.xmemcached.*;  
  2. import net.rubyeye.xmemcached.command.BinaryCommandFactory;  
  3. import net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator;  
  4. import net.rubyeye.xmemcached.utils.AddrUtil;  
  5.   
  6. /** 
  7.  * Created by qiqiang on 2014/12/19. 
  8.  */  
  9. public class XMemcacheClient {  
  10.     public static void main(String[] args) throws  Exception{  
  11.         // 这里测试用了我们刚才建立的3个服务  
  12.         MemcachedClientBuilder builder = new  
  13.                 XMemcachedClientBuilder(AddrUtil.getAddresses("localhost:11211 localhost:11212 localhost:11213"),new int[]{1,1,1});  
  14.         MemcachedClient memcachedClient= builder.build();  
  15.         // 客户端分布 一致性hash  
  16.         builder.setSessionLocator(new KetamaMemcachedSessionLocator(HashAlgorithm.CRC32_HASH));  
  17.         // 用序列化 二进制协议 ,默认是  TextCommandFactory  
  18.         builder.setCommandFactory(new BinaryCommandFactory());  
  19.         // nio 连接池大小,这玩意儿 不一定越大越好,根据资源来定  
  20.         // 而且多个连接会有数据不同步的问题,提供的cas 可以解决  
  21.         builder.setConnectionPoolSize(3);  
  22.         // 宕机报警  
  23.         builder.setFailureMode(true);  
  24.   
  25.         // 第二个参数是秒,表示10秒后 清除这个元素,这里的自定义设置  也是我最喜欢的,ehcache - -就不没到!  
  26.         // 0 表示永久,默认是1个月  
  27.         memcachedClient.delete("name");  
  28.         // set 比add 方便,可以更新 可以添加  
  29.         memcachedClient.set("name",10,"张三");  
  30.         System.out.println(memcachedClient.get("name"));  
  31.   
  32.         // 删除再获取  
  33. //        memcachedClient.delete("name");  
  34. //        System.out.println(memcachedClient.get("name"));  
  35.   
  36.         // 这个  
  37.         GetsResponse<String> result = memcachedClient.gets("name");  
  38.         memcachedClient.cas("name",1,"李四",result.getCas());  
  39.         System.out.println(memcachedClient.get("name"));  
  40.         // 关闭  
  41.         memcachedClient.shutdown();  
  42.     }  
  43. }  

 

 

 

 小结:

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

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

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

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

 

原创粉丝点击