Java client 访问 memcached

本文介绍了在测试项目中使用memcached作为缓存层的配置和调用过程,包括Linux环境下memcached的安装,Java客户端访问memcached的jar包选择与依赖,以及在application-Context.xml中的配置和操作类的调用测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在测试项目中引入了memcached作为缓存层,以下是memcached的缓存配置和调用过程。

  • linux下memcached安装过程

             直接参考以前的博文  linux下安装memcached过程   不再详细介绍

  • java客户端访问memcached的jar包

             在2.6及以前版本使用的是java_memcached-release_2.6.3.jar,3.0以上版本使用memcached-Java-Client-3.0.2.jar,下载地址为http://mvnrepository.com/artifact/com.whalin/Memcached-Java-Client。这两个版本差异较大,官方说法是由于danga的域名不属于他们所有,所以现在修改了类包名称。这是官方的wiki有相关的解释:https://github.com/gwhalin/Memcached-Java-Client/wiki

  • memcached-Java-Client的依赖包

             memcached-Java-Client-3.0.2.jar 需要以下一些包,

            1、commons-pool2-2.4.1.jar依赖包,下载地址http://mvnrepository.com/artifact/org.apache.commons/commons-pool2

            2、junit

            3、slf4j

  • application-Context.xml中 配置支持memcached

	<bean id="memcachedPool" class="com.schooner.MemCached.SchoonerSockIOPool" 
		factory-method="getInstance" init-method="initialize">
		<constructor-arg>
			<value>neeaMemcachedPool</value>
		</constructor-arg>
		<property name="servers">
			<list>
				<value>memcached安装的服务器ip地址:memcached的监听端口</value>
			</list>
		</property>
		<property name="initConn">
			<value>20</value>
		</property>
		<property name="minConn">
			<value>10</value>
		</property>
		<property name="maxConn">
			<value>50</value>
		</property>
		<property name="nagle">
			<value>false</value>
		</property>
		<property name="socketTO">
			<value>3000</value>
		</property>
	</bean>
	
	<bean id="memcachedClient" class="com.whalin.MemCached.MemCachedClient">
		<constructor-arg>
			<value>neeaMemcachedPool</value>
		</constructor-arg>
	</bean>

  • memcached操作类

public class Memcached {

	static MemCachedClient  cachedClient;
 
	private Memcached(){

	}
	
	public static void init()
	{
		ApplicationContext ctx = new FileSystemXmlApplicationContext("classpath:setup/applicationContext.xml"); 
		cachedClient = (MemCachedClient)ctx.getBean("memcachedClient"); 
		
	}
	
	public static Object get(String key) {
		return cachedClient.get(key);
	}
	
	public static boolean add(String key, Object value) {
		return cachedClient.add(key, value);
	}
	
	public static boolean add(String key, Object value, Integer expire) {
		return cachedClient.add(key, value, expire);
	}
	
	public static boolean set(String key, Object value) {
		return cachedClient.set(key, value);
	}
	
	public static boolean set(String key, Object value, Integer expire) {
		return cachedClient.set(key, value, expire);
	}
	
	public static boolean replace(String key, Object value) {
		return cachedClient.replace(key, value);
	}
	
	public static boolean replace(String key, Object value, Integer expire) {
		return cachedClient.replace(key, value, expire);
	}
	
	public static boolean delete(String key){
		return cachedClient.delete(key);
	}
}

  • 调用测试

      Memcached.set("memcached", "测试");
      System.out.println("memcached缓存————————="+ Memcached.get("memcached"));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值