官网不推荐将memcached安装到window OS中、为了测试使用先在win中安装。html
在本机%memcached_home%路径下 使用以下指令:java
Memcached.ext –d install
也可使用:spring
memcached.ext -l localhost -p 11212 -m 1024 在本机的11212 端口安装memcached 服务(能够用内存为 1G)
我本机已经装过了、所以使用以下:ruby
注释:若是你在你本机就不能telnet 经过本机的ip和端口说明你本机的telnet服务没启动。 若是你在本机能够telnet经过可是你的同事不能telnet你的电脑、看看你的“防火墙”是否开启、若是开启关闭就好了。你也可让memcached安装为你的服务、那就是后话了。 启动memcached服务后会在window资源管理器中看以下服务进程:服务器
使用telnet localhost 11211 链接到memcached服务器 等待n秒吧、而后输入stats会返回:session
上面两张图片中各个字段的意义: 字段值 字段值说明 pid Memcached进程ID Uptime Memcached运行时间,单位:秒 time Memcached当前的UNIX时间 version Memcached的版本号 libevent 2.0.21-stable pointer_size 32 curr_connections 当前链接数量 total_connections Memcached运行以来接受的链接总数 connection_structures Memcached分配的链接结构的数量 reserved_fds 20 cmd_get 查询请求总数 cmd_set 存储(添加/更新)请求总数 cmd_flush cmd_touch 0 get_hits 查询成功获取数据的总次数 get_misses 查询成功未获取到数据的总次数 delete_hits 查询成功获取数据的总次数 delete_misses 查询成功未获取到数据的总次数 rusage_user 该进程累计的用户时间,单位:秒 rusage_system 该进程累计的系统时间,单位:秒 bytes Memcached当前存储内容所占用的字节数 curr_items Memcached当前存储的内容数量 total_items Memcached启动以来存储过的内容总数 evictions reclaimed …… 具体参数意义可查看:查看memcache的statusapp
上面说了不少memcached的东西、说说客户端程序。 java的memcached客户端比较:memcached
memcached.properties 配置项、因为在我本机测试仅仅用到server一、在生产环境能够配置集群。测试
#链接池大小即客户端个数 memcached.connectionPoolSize=50 # TODO memcached.failureMode=true #server1 memcached.server1.host=192.168.2.102 memcached.server1.port=11211 memcached.server1.weight=4 #server2 memcached.server2.host=10.11.155.41 memcached.server2.port=11211 memcached.server2.weight=3 #server3 memcached.server3.host=10.10.76.31 memcached.server3.port=11211 memcached.server3.weight=2 #server4 memcached.server4.host=10.10.76.35 memcached.server4.port=11211 memcached.server4.weight=1
在Spring中的配置文件为:applicationContext-memcached-ws.xml 配置文件内容为:ui
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- http://code.google.com/p/xmemcached/wiki/Spring_Integration <context:property-placeholder location="memcached.properties" /> --> <bean id="memcachedClientBuilder" class="net.rubyeye.xmemcached.XMemcachedClientBuilder" p:connectionPoolSize="${memcached.connectionPoolSize}" p:failureMode="${memcached.failureMode}"> <constructor-arg> <list><bean class="java.net.InetSocketAddress"> <constructor-arg><value>${memcached.server1.host}</value> </constructor-arg> <constructor-arg><value>${memcached.server1.port}</value> </constructor-arg> </bean></list> </constructor-arg> <constructor-arg><list><value>${memcached.server1.weight}</value></list> </constructor-arg> <property name="commandFactory"> <bean class="net.rubyeye.xmemcached.command.TextCommandFactory" /> </property> <property name="sessionLocator"> <bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator" /> </property> <property name="transcoder"> <bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder" /> </property> </bean> <bean id="memcachedClient" factory-bean="memcachedClientBuilder" factory-method="build" destroy-method="shutdown" /> <!-- memcached 管理类配置项 --> <bean id="memcachedManager" class="com.xxx.ws.cache.MemcachedManager"> <property name="memcachedClient" ref="memcachedClient"></property> </bean> </beans>