Fork me on GitHub

memcached安装、使用

Memcached客户端01:XMemcached

版本选择:2.0.0
maven依赖:
<!-- xmemcached -->
        <dependency>
        <groupId>com.googlecode.xmemcached</groupId>
        <artifactId>xmemcached</artifactId>
        <version>2.0.0</version>
</dependency>

   


XMemcached也使用得比较广泛,而且有较详细的中文API文档,具有如下特点:高性 能、支持完整的协议、支持客户端分布、允许设置节点权重、动态增删节点、支持JMX、与Spring框架和Hibernate-memcached的集 成、客户端连接池、可扩展性好等。  
 
版本(pook):XMemcached封装JAR,分布式,权重配置(注意区分get/getReal,依赖dom4j、common-log、slf等JAR包)
..puic.cache封装Xmemcached工具类.rar..
 
版本(个人重构版):XMemcached工具类,分布式,权重配置;【分片、主从】
..XMemcached工具类.rar..
 
所需JAR包如下:
xmemcached-1.3.5.jar
commons-logging-1.1.1.jar
log4j-1.2.12.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
 
 



 
Memcached客户端02:Memcached-Java-Client

 
由于memcached client for java发布了新版本,性能上有所提高,并且运行稳定,所以建议使用memcached client for java。 
2.6.1版本支持apache-commoms-pool作为连接池。 支持权重配置。
 
 
版本(lvmama):Memcached-Java-Client工具类,分布式,无权重配置
..驴妈妈版本:Memcached-Java-Client工具类.rar..
 
版本03:Memcached-Java-Client工具类,分布式,权重配置(新版本支持权重)
..新版支持权重:Memcached-Java-Client工具类.rar..
 
新版本官方实例:Memcached-Java-Client,支分布式,权重配置
..MemcachedForJavaExample.java..
 
对比测试:

..TestMemcached.java..
实际测试,单线程,循环set/get 50W次耗时:
Memcached-Java-Client方式:checkMemCachedClient cost:7901
XMemcached方式:checkXmemcached cost:16072
XMemcached封装方式:checkMyXmemcachedcost:16578
 



CentOS下安装memcached            

yum版本比较新,也比较稳定,可以直接采用yum安装memcached

 
1. 查找Memcached    
# yum search memcached
# yum list|grep memcached
CentOS下使用yum快速安装memcached-linux服务器应用-黑吧安全网.htm
 
2. 安装第三方软件库(可选)    
标准的CentOS5软件仓库里面是没有memcache相应的包的,所以,我们的第一步就是导入第三方软件仓库,这里推荐的是RpmForge(RpmForge库现在已经拥有超过10000种的CentOS的软件包,被CentOS社区认为是最安全也是最稳定的一个第三方软件库),安装方法如下:
# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.5.2-2.rf.src.rpm 
# rpm -ivh rpmforge-release-0.5.2-2.rf.src.rpm
 
3.安装Memcached    
yum安装方式一:
# yum -y install memcached
 
源码安装方式二:
# yum -y install gcc 
# yum -y install gcc-c++ 
然后上传centos,进行给予权限,然后解压
# tar xzvf libevent-2.0.21-stable.tar.gz     ##解压
# cd libevent-2.0.21-stable
# ./configure --prefix=/usr/local/libevent/
# make && make install
# ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /lib/libevent-1.4.so.2
configure文件中的默认prefix是/usr/local,因此,安装完成之后,你可以在/usr/local/bin 和 /usr/local/lib 下找到libevent的相关文件
# tar xzvf memcached-1.4.24.tar.gz 
# cd memcached-1.4.24
# ./configure --prefix=/usr/local/memcached/ --with-libevent=/usr/local/libevent/
# make && make install
安装结果(ls -al /usr/local/bin/memcached)
 
配置自启动脚本:
# vi /etc/init.d/memcached    
# chmod +x /etc/init.d/memcached
# chkconfig --add memcached
# chkconfig --level 235 memcached on
# service memcached start
#########################
#!/bin/bash
# author:kuangl
# date:2013-05-30
# description: Starts and stops the Memcached services.
# pidfile: /tmp/memcached1.pid
# config:  /usr/local/memcached
# chkconfig: - 55 45
# source function library
. /etc/rc.d/init.d/functions
 
memcached="/usr/local/memcached/bin/memcached"
pidfile="/tmp/memcached1.pid"
 
PORT=11211
USER=root
MAXCONN=1024
CACHESIZE=64
OPTIONS=""
 
start()
{
 echo "Starting memcached:"
 daemon $memcached -d -p $PORT -u $USER  -m $CACHESIZE -c $MAXCONN -P $pidfile $OPTIONS
}
 
stop()
{
 echo "Shutting down memcached"
 killproc memcached
}
 
case "$1" in
start)
 start
 ;;
stop)
 stop
 ;;
restart)
 stop
 sleep 3
 start
 ;;
*)
 
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
#########################
 
4.验证安装    

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

启动参数说明:
-d 选项是启动一个守护进程。
-u root 表示启动memcached的用户为root。
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。
-p 是设置Memcache的TCP监听的端口,默认为11211

# pgrep memcached
# netstat -tulpn | grep 11211
# ps -ef | grep memcached
 
# yum install telnet
# telnet 127.0.0.1 11211
 
yum安装报错:
# vi /etc/resolv.conf
options timeout:1 attempts:1 rotate
nameserver 10.202.72.116
nameserver 10.202.72.118
#nameserver 8.8.8.8
防火墙给给拦住了,蛋疼啊
# service iptables stop
# service iptables start
 
5. 查看配置文件    
# cat /etc/sysconfig/memcached
可以根据情况修改相关配置参数: 
#####################
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
###############
 
6.启动memcached        
# /etc/rc.d/init.d/memcached start
 
7、开机启动    
# chkconfig --list memcached 
# chkconfig memcached  on
或:# vi /etc/rc.local 加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。
8、开放防火墙端口:11211    
# /sbin/iptables -I INPUT -p tcp --dport 11211 -j ACCEPT 
# service iptables status
# /etc/rc.d/init.d/iptables save
 
 
9、测试是否安装成功:
telnet 192.168.1.15 11211
set name 0 0 4  
jack
get name 
ctrl + ]
q
退出
Window下安装memcached        

官网(windows编译32位):自个儿去百度    
版本(windows编译32位):memcached-win32-1.4.4-14.zip
 
版本(windows编译64位):http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip
 
linux版本可以直接编译,安装;windows版本不太好编译,使用该网站上编译后版本;

 
windows下安装memcached

1、下载memcached for win32(memcached_en32or64 ),直接解压;
2、cmd进入命令窗口,cd到解压路径;
3、安装命令:解压路径下》memcached.exe -d install;
4、启动服务(计算器,管理,服务,手动启动也可以):》net start memcached(关闭删除,同svn安装);
5、修改默认“端口11211"和"占用最大内存64M”:解压路径下》memcached.exe -p 10000 -m 512 -d start(-p要修的端口,-m要修改的最大内存,单位M);
6、常用命令:
telnet到memcache服务器,如:telnet 192.168.1.120 11211(11211是memcache的默认端口) 
stats :查看基本信息 
stats items :查看items 
get key:(key 为 item后面的字符串即键) 
-c :最大同时连接数,默认是1024 
-f :块大小增长因子,默认是1.25 
-n :最小分配空间,key+value+flags默认是48 
-h :显示帮助 
END
 
然后可以再系统服务中,管理,开机启动
 
win7 telnet命令无法开启的解决方案(不是内部命令或外部命令)

“控制面板” 一〉“程序” 一〉“打开或关闭windows功能”,在里面你可以看到许多服务项,选择“telnet服务器”和“telnet客户端”确定即可。
 
安装设置参数

以上的安装和启动都是在默认环境下进行的,在安装时可设置如下参数:
-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25
-n 最小分配空间,key+value+flags默认是48
-h 显示帮助
如:“memcached -d install -l 127.0.0.1 -m 1024 -c2048”。
 
win8(64位)下memcache安装时报错“ failed to install service or service already installed”
net start memcached提示发生系统错误5

解决办法: 
1、找到cmd.exe文件(c:\windows\system32\cmd.exe)
2、右键cmd.exe以管理员方式运行
 
posted @ 2016-04-25 21:38  许雪里  阅读(1025)  评论(0编辑  收藏  举报