XMemcached-for-java-Memcached使用说明

XMemcached-for-java-Memcached使用说明

一、下载memcached.exe 安装程序

官网不推荐将memcached安装到window OS中、为了测试使用先在win中安装。html

二、安装memcached

在本机%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资源管理器中看以下服务进程:服务器

输入图片说明

三、查看memcached服务状态

使用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

四、使用xmemcached 管理cache

上面说了不少memcached的东西、说说客户端程序。 java的memcached客户端比较:memcached

  • 一、XMemcached (咱们使用的)
  • 二、SpyMemcached
  • 三、Memcached Client for Java(官方提供的java 客户端)

五、XMemcached vs Spring 配置

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>
相关文章
相关标签/搜索