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) throwsException{
// 这里测试用了我们刚才建立的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
页:
[1]