您的位置:首页 > 数据库 > Memcache

spring调用memcached client for java

2011-03-09 15:59 417 查看
memcached client for java客户端API:memcached client for java

网址:http://www.whalin.com/memcached

调用测试类

MClient.java

Java代码




package
bcndyl.test;

import
org.springframework.context.ApplicationContext;

import
org.springframework.context.support.FileSystemXmlApplicationContext;

import
com.danga.MemCached.MemCachedClient;

public

class
MClient {

public

static

void
main(String[] args){

ApplicationContext ctx=new
FileSystemXmlApplicationContext(
"src/applicationContext.xml"
);

MemCachedClient mc = (MemCachedClient)ctx.getBean("memcachedClient"
);

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

//try{Thread.sleep(2000);}catch(Exception e){}

mc.set("key"
+i,
"value"
+i);

}

try
{Thread.sleep(
5000
);}
catch
(Exception e){}

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

System.out.println("get "
+i+
" value "
+mc.get(
"key"
+i));

}

}

}

package bcndyl.test;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.danga.MemCached.MemCachedClient;

public class MClient {

public static void main(String[] args){

ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");
MemCachedClient mc = (MemCachedClient)ctx.getBean("memcachedClient");
for(int i=0; i<100; i++){
//try{Thread.sleep(2000);}catch(Exception e){}
mc.set("key"+i, "value"+i);
}
try{Thread.sleep(5000);}catch(Exception e){}
for(int i=0; i<100; i++){
System.out.println("get "+i+" value "+mc.get("key"+i));
}
}

}


spring配置文件

Xml代码




<?
xml

version
=
"1.0"

encoding
=
"UTF-8"
?>

<
beans

xmlns
=
"http://www.springframework.org/schema/beans"

xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation
=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" >

<
bean

id
=
"memcachedPool"

class
=
"com.danga.MemCached.SockIOPool"

factory-method
=
"getInstance"

init-method
=
"initialize"

destroy-method
=
"shutDown"
>

<
constructor-arg
>
<
value
>
neeaMemcachedPool
</
value
>
</
constructor-arg
>

<
property

name
=
"servers"
>

<
list
>

<
value
>
192.168.227.20:12111
</
value
>

<
value
>
192.168.227.20:12112
</
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
=
"maintSleep"
>
<
value
>
30
</
value
>
</
property
>

<
property

name
=
"nagle"
>
<
value
>
false
</
value
>
</
property
>

<
property

name
=
"socketTO"
>
<
value
>
3000
</
value
>
</
property
>

<!--

<
property

name
=
"initConn"
>
<
value
>
</
value
>
</
property
>

<
property

name
=
"initConn"
>
<
value
>
</
value
>
</
property
>
--
>

</
bean
>

<
bean

id
=
"memcachedClient"

class
=
"com.danga.MemCached.MemCachedClient"
>

<
constructor-arg
>
<
value
>
neeaMemcachedPool
</
value
>
</
constructor-arg
>

<
property

name
=
"compressEnable"
>
<
value
>
true
</
value
>
</
property
>

<
property

name
=
"compressThreshold"
>
<
value
>
4096
</
value
>
</
property
>

</
bean
>

</
beans
>

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> 
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool" factory-method="getInstance"
init-method="initialize" destroy-method="shutDown">
<constructor-arg><value>neeaMemcachedPool</value></constructor-arg>
<property name="servers">
<list>
<value>192.168.227.20:12111</value>
<value>192.168.227.20:12112</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="maintSleep"><value>30</value></property>
<property name="nagle"><value>false</value></property>
<property name="socketTO"><value>3000</value></property>
<!--
<property name="initConn"><value></value></property>
<property name="initConn"><value></value></property>-->
</bean>

<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
<constructor-arg><value>neeaMemcachedPool</value></constructor-arg>
<property name="compressEnable"><value>true</value></property>
<property name="compressThreshold"><value>4096</value></property>
</bean>

</beans>


经过测试,个人感觉,这个java的memcached API比spymemcached要好用,可以让spring来维护这个memcached的connection连接池
http://lveyo.javaeye.com/blog/246564
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: