memcachedWord格式文档下载.docx

上传人:b****6 文档编号:18263158 上传时间:2022-12-14 格式:DOCX 页数:30 大小:33.80KB
下载 相关 举报
memcachedWord格式文档下载.docx_第1页
第1页 / 共30页
memcachedWord格式文档下载.docx_第2页
第2页 / 共30页
memcachedWord格式文档下载.docx_第3页
第3页 / 共30页
memcachedWord格式文档下载.docx_第4页
第4页 / 共30页
memcachedWord格式文档下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

memcachedWord格式文档下载.docx

《memcachedWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《memcachedWord格式文档下载.docx(30页珍藏版)》请在冰豆网上搜索。

memcachedWord格式文档下载.docx

具体原创不详。

2)依赖的jar

A.commons-pool-1.5.6.jar

B.java_memcached-release_2.6.3.jar

C.slf4j-api-1.6.1.jar

D.slf4j-simple-1.6.1.jar

2.alisoft-xplatform-asf-cache-2.5.1

这个东东是阿里软件的架构师岑文初进行封装的。

里面的注释都是中文的,比较好。

A.alisoft-xplatform-asf-cache-2.5.1.jar

B.commons-logging-1.0.4.jar

C.hessian-3.0.1.jar

D.log4j-1.2.9.jar

E.stax-api-1.0.1.jar

F.wstx-asl-2.0.2.jar

六、范例

1.基于java_memcached-release_2.6.3

Java代码

 

1.package 

com.hl.memcached.cache;

 

2. 

3.import 

java.util.Date;

4. 

5.import 

com.danga.MemCached.MemCachedClient;

6.import 

com.danga.MemCached.SockIOPool;

7. 

8.public 

class 

MyCache 

9. 

public 

static 

void 

main(String[] 

args) 

10. 

MemCachedClient 

client=new 

MemCachedClient();

11. 

String 

[] 

addr 

={"

127.0.0.1:

11211"

};

12. 

Integer 

weights 

{3};

13. 

SockIOPool 

pool 

SockIOPool.getInstance();

14. 

pool.setServers(addr);

15. 

pool.setWeights(weights);

16. 

pool.setInitConn(5);

17. 

pool.setMinConn(5);

18. 

pool.setMaxConn(200);

19. 

pool.setMaxIdle(1000*30*30);

20. 

pool.setMaintSleep(30);

21. 

pool.setNagle(false);

22. 

pool.setSocketTO(30);

23. 

pool.setSocketConnectTO(0);

24. 

pool.initialize();

25. 

26.// 

=pool.getServers();

27. 

client.setCompressEnable(true);

28. 

client.setCompressThreshold(1000*1024);

29. 

30.// 

将数据放入缓存 

31. 

client.set("

test2"

"

);

32. 

33.// 

将数据放入缓存,并设置失效时间 

34. 

Date 

date=new 

Date(2000000);

35. 

test1"

 

date);

36. 

37.// 

删除缓存数据 

38.// 

client.delete("

39. 

40.// 

获取缓存数据 

41. 

str 

=(String)client.get("

42. 

System.out.println(str);

43. 

44.} 

packagecom.hl.memcached.cache;

importjava.util.Date;

importcom.danga.MemCached.MemCachedClient;

importcom.danga.MemCached.SockIOPool;

publicclassMyCache{

publicstaticvoidmain(String[]args){

MemCachedClientclient=newMemCachedClient();

String[]addr={"

Integer[]weights={3};

SockIOPoolpool=SockIOPool.getInstance();

pool.setServers(addr);

pool.setWeights(weights);

pool.setInitConn(5);

pool.setMinConn(5);

pool.setMaxConn(200);

pool.setMaxIdle(1000*30*30);

pool.setMaintSleep(30);

pool.setNagle(false);

pool.setSocketTO(30);

pool.setSocketConnectTO(0);

pool.initialize();

//String[]s=pool.getServers();

client.setCompressEnable(true);

client.setCompressThreshold(1000*1024);

//将数据放入缓存

client.set("

//将数据放入缓存,并设置失效时间

Datedate=newDate(2000000);

date);

//删除缓存数据

//client.delete("

//获取缓存数据

Stringstr=(String)client.get("

System.out.println(str);

}

}

2. 

基于alisoft-xplatform-asf-cache-2.5.1

1) 

配置memcached.xml

Xml代码

1.<

?

xml 

version="

1.0"

encoding="

UTF-8"

>

2.<

memcached>

3. 

<

!

-- 

name 

属性是程序中使用Cache的唯一标识;

socketpool 

属性将会关联到后面的socketpool配置;

-->

client 

name="

mclient_0"

compressEnable="

true"

defaultEncoding="

5. 

socketpool="

pool_0"

6. 

可选,用来处理出错情况 

errorHandler>

com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler 

8. 

/errorHandler>

/client>

-- 

属性和client 

配置中的socketpool 

属性相关联。

maintSleep属性是后台线程管理SocketIO池的检查间隔时间,如果设置为0,则表明不需要后台线程维护SocketIO线程池,默认需要管理。

socketTO 

属性是Socket操作超时配置,单位ms。

aliveCheck 

属性表示在使用Socket以前是否先检查Socket状态。

maintSleep="

5000"

socketTO="

3000"

failover="

aliveCheck="

initConn="

5"

minConn="

maxConn="

250"

nagle="

false"

设置memcache服务端实例地址.多个地址用"

隔开 

servers>

11211<

/servers>

可选配置。

表明了上面设置的服务器实例的Load权重. 

例如 

weights>

3,7<

/weights>

表示30% 

load 

在 

10.2.224.36:

33001, 

70% 

在 

10.2.224.46:

33001 

26. 

/socketpool>

29.<

/memcached>

xmlversion="

encoding="

<

--name属性是程序中使用Cache的唯一标识;

socketpool属性将会关联到后面的socketpool配置;

-->

clientname="

compressEnable="

defaultEncoding="

socketpool="

<

--可选,用来处理出错情况-->

com.alisoft.xplatform.asf.cache.memcached.MemcachedErrorHandler

--

name属性和client配置中的socketpool属性相关联。

maintSleep属性是后台线程管理SocketIO池的检查间隔时间,如果设置为0,则表明不需要后台线程维护SocketIO线程池,默认需要管理。

socketTO属性是Socket操作超时配置,单位ms。

aliveCheck

属性表示在使用Socket以前是否先检查Socket状态。

socketpoolname="

maintSleep="

socketTO="

failover="

aliveCheck="

initConn="

minConn="

maxConn="

nagle="

--设置memcache服务端实例地址.多个地址用"

隔开-->

可选配置。

表明了上面设置的服务器实例的Load权重.例如<

表示30%load在

10.2.224.36:

33001,70%load在10.2.224.46:

33001

-->

2) 

测试类

com.hl.memcached.client.test;

java.util.ArrayList;

4.import 

java.util.List;

com.alisoft.xplatform.asf.cache.ICacheManager;

7.import 

com.alisoft.xplatform.asf.cache.IMemcachedCache;

8.import 

com.alisoft.xplatform.asf.cache.memcached.CacheUtil;

9.import 

com.alisoft.xplatform.asf.cache.memcached.MemcachedCacheManager;

10.import 

com.hl.memcached.cache.client.TestBean;

12.public 

ClientTest 

@SuppressWarnings("

unchecked"

) 

ICacheManager<

IMemcachedCache>

manager;

manager 

CacheUtil.getCacheManager(IMemcachedCache.class, 

MemcachedCacheManager.class.getName());

manager.setConfigFile("

memcached.xml"

manager.start();

try 

IMemcachedCache 

cache 

manager.getCache("

cache.put("

key"

"

value"

System.out.println(cache.get("

));

finally 

manager.stop();

30.} 

packagecom.hl.memcached.client.test;

importjava.util.ArrayList;

importjava.util.List;

importcom.alisoft.xplatform.asf.cache.ICacheManager;

importcom.alisoft.xplatform.asf.cache.IMemcachedCache;

importcom.alisoft.xplatform.asf.cache.memcached.CacheUtil;

importcom.alisoft.xplatform.asf.cache.memcached.MemcachedCacheManager;

importcom.hl.memcached.cache.client.TestBean;

publicclassClientTest{

@SuppressWarnings("

ICacheManager<

manager;

manager=CacheUtil.getCacheManager(IMemcachedCache.class,

MemcachedCacheManager.class.getName());

manager.setConfigFile("

manager.start();

try{

IMemcachedCachecache=manager.getCache("

cache.put("

"

System.out.println(cache.get("

}finally{

manager.stop();

}

七、使用memcached缓存javabean自定义对象

Memcached可以缓存String,也可以缓存自定义javabean。

但必须是可序列化的javabean(implementsSerializable即可)

1. 

基于java_memcached-release_2.6.3

测试用javabean

com.hl.memcached.cache.client;

java.io.Serializable;

5.public 

TestBean 

implements 

Serializable{ 

private 

final 

long 

serialVersionUID 

5344571864700659321L;

name;

age;

//get、set方法略 

11.} 

packagecom.hl.memcached.cache.client;

importjava.io.Serializable;

publicclassTestBeanimplementsSerializable{

privatestaticfinallongserialVersionUID=5344571864700659321L;

privateStringname;

privateIntegerage;

//get、set方法略

MyCache.java代码 

pool.setInitConn(5)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1