memcache安装教程(redis分布式缓存)

一、分布式部署设置:

memcached 虽然称为 “ 分布式 ” 缓存服务器,但服务器端并没有 “ 分布式 ” 功能。每个服务器都是完全独立和隔离的服务。 memcached 的分布式,则是完全由客户端程序库实现的。 这种分布式是 memcached 的最大特点。所以部署时以相同的方式在不同服务器上安装部署即可。

二、监控:

一个简单的命令行工具memcache-top

下载网址:
http://code.google.com/p/memcache-top/

下载之后放在/root/soft目录下

运行命令:

perl memcache-top-v0.6 –instances=ip:端口号,ip:端口号

两台服务器:

perl/root/soft/memcache-top-v0.6–instances=192.168.175.100:11211,192.168.175.100:11211

运行效果如下:

memcache安装教程(redis分布式缓存)

daemontools: 监视memcached进程并自动启动.

网址:
http://cr.yp.to/daemontools.html

通常情况下memcached运行得相当稳定,但也不排除因为一些不可预知的因素导致memcached进程死掉,而又不能及时的发现重启。架构上保证了即使有几台memcached故障 也不会影响服务,不过对于memcached进程死掉的服务器,只要重新启动memcached,就可以正常运行,所以采用了监视memcached进程并自动启动的方法。于是使用了daemontools。

这里不介绍daemontools的安装了。我使用了以下的run脚本来启动memcached。

#!/bin/sh

exec 2>&1

exec /usr/local/bin/memcached -d -u root -m 1024 -p 11211 -c 2048 -P /tmp/memcached.pid

三、测试

服务端:

两台服务器,各启动两个进程,分配200M内存

启动参数:

/usr/local/bin/memcached -d -m 200 -u root -p 11211

/usr/local/bin/memcached -d -m 200 -u root -p 11212

监控启动:

perl/root/soft/memcache-top-v0.6–instances=192.168.175.100:11211,192.168.175.100:11212,192.168.175.101:11211,192.168.175.101:11212

基于spymemcached测试

1、 打开监控

memcache安装教程(redis分布式缓存)

2、 往memcached插入10000条数据

MemcachedClient c=new MemcachedClient(

AddrUtil.getAddresses(

“192.168.175.100:11211 192.168.175.100:11212

192.168.175.101:11211 192.168.175.101:11212″));

for(int i=0;i<10000;i++){

c.set(“key_”+i, 3600, “value_”+i);

}

插入数据之后监控画面:

memcache安装教程(redis分布式缓存)

四个memcached服务都存在,读取监控也同上图。

取值代码:

MemcachedClient c=new MemcachedClient(

AddrUtil.getAddresses(

“192.168.175.100:11211 192.168.175.100:11212

192.168.175.101:11211 192.168.175.101:11212″));

for(int i=0;i<10000;i++){

String key = “key_”+i;

Object obj = c.get(key);

System.out.println(key+”=”+obj);

}

3、 重启服务101:11212,再读取这10000个值,监控结果如下

memcache安装教程(redis分布式缓存)

说明某台服务器的数据丢失之后不会影响其它服务器的数据和读取。

4、 去掉某台服务,再读取这10000个值,监控结果如下

去掉服务101:11212,获取监控如下:

memcache安装教程(redis分布式缓存)

增加一个新的服务,101:11213,获取监控如下:

memcache安装教程(redis分布式缓存)

可见,节点的变化会影响命中率。

科猫网发布的相关文章已登记【鲸版权】未经许可不得转载!否则本站有权进行维权!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 tingfengjishu@qq.com 举报,一经查实,本站将立刻删除。
Copyright © 科猫网 备案渝ICP备2020014115号-1