似是而非

导航

2012年7月13日 #

【转】系统缓存全解析二:动态缓存(4)-Discuz!NT中集成Memcached分布式缓存

摘要: Discuz!NT中集成Memcached分布式缓存文章出处:DIY部落(http://www.diybl.com/course/3_program/cshapo/csharpsl/20100112/189244.html)其实在之前的那篇关于Discuz!NT缓存架构的文章中已提到过,使用了设计模式中的“策略模式”来构造。所以为了与以往使用缓存的代码格式相兼容,所以这里采用新添加MemCachedStrategy(MemCached策略)来构造一个缓存策略类以便于当管理后台开启“MemCached”时以“MemCached策略模式”来做为当前系统默认的策略模式。 其代码段如下(Discuz. 阅读全文

posted @ 2012-07-13 17:00 似是而非 阅读(189) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析二:动态缓存(4)-第三方分布式缓存解决方案 Memcache(2)

摘要: 缓存系统MemCached的Java客户端优化历程(转载自http://code.google.com/p/memcache-client-forjava/。)Memcached是一种集中式Cache,支持分布式横向扩展。这里需要解释说明一下,很多开发者觉得Memcached是一种分布式缓存系统,但是其实Memcached服务端本身是单实例的,只是在客户端实现过程中可以根据存储的主键做分区存储,而这个区就是Memcached服务端的一个或者多个实例,如果将客户端也囊括到Memcached中,那么可以部分概念上说是集中式的。其实回顾一下集中式的构架,无非两种情况:一是节点均衡的网状(JBoss. 阅读全文

posted @ 2012-07-13 16:59 似是而非 阅读(232) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析二:动态缓存(4)-第三方分布式缓存解决方案 Memcache(1)

摘要: Memcached — 分布式缓存系统1.Memcached是什么?Memcached是高性能的,分布式的内存对象缓存系统,用于在动态应用中减少数据库负载,提升访问速度。Memcached通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcached由Danga Interactive最初为了加速 LiveJournal网站访问速度而开发的,后来被很多大型的网站采用。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问. 阅读全文

posted @ 2012-07-13 16:58 似是而非 阅读(249) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析二:动态缓存(3)-文件,对象缓存依赖与数据库缓存依赖

摘要: (依据文件,数据库,表等变化而自动更新缓存内容)一,缓存文件: 简单语言介绍以下,将硬盘中的文本文件缓存至web服务器内存中,一般常用在缓存配置文件或其他公共文件上,并自动监听文件是否有被修改,一旦被修改,将自动的更新缓存。因为与下面的数据库缓存依赖基本代码一致,所以不加代码示例。二,缓存非序列化对象或者序列化对象:不用多说,就是将对象放入缓存内啦。三,数据库缓存依赖项:为了实现.NET缓存依赖需要调用System.Web.Caching下的三个类:1,Cache类 ;//将数据缓存到该对象内;2,SqlCacheDependency类;//主要负责为Cache对象 与 数据库表或结果集合建. 阅读全文

posted @ 2012-07-13 16:57 似是而非 阅读(278) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析二:动态缓存(2)-页面局部缓存的两种方式

摘要: 有时缓存整个页面是不现实的,因为页的某些部分可能在每次请求时都需要变化。在这些情况下,只能缓存页的一部分。顾名思义,页面部分缓存是将页面部分内容保存在内存中以便响应用户请求,而页面其他部分内容则为动态内容。页面部分缓存的实现包括两种方式: 控件缓存(通过使用控件嵌套的方式来实现缓存部分页面) 。 替换后缓存(通过缓存整个页面,替换部分页面组件的方式来实现部分缓存)。1. 控件缓存(也称为片段缓存):这种方式允许将需要缓存的信息包含在一个用户控件内,然后,将该用户控件标记为可缓存的,以此来缓存页面输出的部分内容。该选项允许缓存页面中的特定内容,而没有缓存整个页面,因此,每次都需重新创建整个页.. 阅读全文

posted @ 2012-07-13 16:56 似是而非 阅读(241) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析二:动态缓存(1)-传统缓存 与 页面输出缓存

摘要: 下面详细介绍在《系统缓存全解析一》中提及的动态缓存技术:一,传统缓存方式:比如将可重复利用的东西放到Application或是Session中去保存。Session["Style"] = val;Application["Count"] = 0;二,页面输出缓存:全页缓存到服务器内存中 页面输出缓存是最为简单的缓存机制,该机制将整个ASP.NET页面内容保存在服务器内存中。当用户请求该页面时,系统从内存中输出相关数据,直到缓存数据过期。在这个过程中,缓存内容直接发送给用户,而不必再次经过页面处理生命周期。通常情况下,页面输出缓存对于那些包含不需要经常修改 阅读全文

posted @ 2012-07-13 16:53 似是而非 阅读(258) 评论(0) 推荐(0) 编辑

【转】系统缓存全解析一

摘要: 具体请看:(http://msdn.microsoft.com/zh-cn/library/aa478965.aspx)1,数据库过程缓存(执行计划缓存):缓存sql脚本的执行计划+缓存sql脚本的执行上下文(包含:执行人,所影响的数据库和表,执行结果集合)2,数据库缓存依赖(web服务端对数据库的数据进行缓存与监听)3,web服务器缓存:(缓存web服务器端的一些页面或页面的部分内容)(1),静态文件缓存 好多页面是静态的,很少改动,那么这种文件最适于作静态缓存。现在的IIS 6.0这部分内容是直接存放在Kernel的内存中,由HTTP.SYS直接管理。由于它在Kernel Space,所. 阅读全文

posted @ 2012-07-13 16:49 似是而非 阅读(302) 评论(0) 推荐(0) 编辑