memcached简单应用

[b]memcached简单应用[/b]


1.Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。
2.一种基于key-value方式进行数据缓存的方式,数据保存地内存中,只支持字符串保存。我们可通过序列化(JSON串)和反序列化(数据模型)来进行数据模型的转换。
3.Memcached本身是使用C开发的,客户端可以是php、C#、或者java。我是做java的,所以这里只介绍基于java的客户端。
4.Memcached本身具有对象的存取功能,但是会对对象的包名进行判断,包路径不一样(字段参数一样)是不能进行转换的。


[b]例子:[/b]
public static void main(String[] args) {
MemCachedClient client=new MemCachedClient();
String [] addr ={"127.0.0.1:11211"};
Integer [] weights = {3};
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(addr); //memcached服务器地址配置
pool.setWeights(weights);//memcached服务器权重配置
pool.setInitConn(5); //初始化时对每个服务器建立的连接数目
pool.setMinConn(5); //每个服务器建立最小的连接数,当自查线程发现与某个服务器建立连接数目小于这个数目时会弥补剩下的连接
pool.setMaxConn(200); //每个服务器建立最大的连接数,当自查线程发现与某个服务器建立连接数目大于这个数目
//时就会逐个检查这些连接的空闲时间是否大于maxConn,如果大于会关闭这些连接,直到连接数等于maxConn
pool.setMaxIdle(1000*30*30);//最大空闲时间
pool.setMaintSleep(30); //自查线程周期进行工作,其每次休眠时间
pool.setNagle(false); //Socket的参数,如果是true在写数据时不缓冲,立即发送出去
pool.setSocketTO(30); //Socket阻塞读取数据的超时时间
pool.setSocketConnectTO(0); //Socket阻塞建立连接的等待时间
pool.initialize();

// String [] s =pool.getServers();
client.setCompressEnable(true); //设定是否压缩放入cache中的数据,默认值是ture
client.setCompressThreshold(1000*1024);//设定需要压缩的cache数据的阈值,默认值是30k

// 将数据放入缓存
client.set("test2","test2");

// 将数据放入缓存,并设置失效时间
Date date=new Date(2000000);
client.set("test1","test1", date);

// 删除缓存数据
// client.delete("test1");

// 获取缓存数据
String str =(String)client.get("test1");
System.out.println(str);
}
}



1.SockIOPool,就是建立连接放到连接池中,方便后面使用,减少使用时要建立的时间获得连接池的单态方法。
2.这个方法有一个重载方法getInstance( String poolName ),每个poolName只构造一个SockIOPool实例。缺省构造的poolName是default。如果在客户端配置多个memcached服务,一定要显式声明poolName。
3.如何让MemCachedClient和SockIOPool勾搭在一起
pool = SockIOPool.getInstance("SP");
MemCachedClient client = new MemCachedClient("SP" );
//这样就通过名字进行了关联了


参考原文:[url]http://blog.csdn.net/qqiabc521/article/details/6438429[/url]
参考原文:[url]http://www.cnblogs.com/han1982/p/4125527.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值