`
MarkDong
  • 浏览: 2327 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

域对象事件驱动的缓存策略(一)

    博客分类:
  • J2EE
阅读更多

      在各种项目中,通常依靠缓存机制来提高系统的相应速度。各种系统软件从操作系统到数据库软件均有内部的缓存机制,很多第三方开源类库也有缓存机制,例如Hibernate的二级缓存和查询缓存。但是有了这些缓存就够了吗?其实远远不够,根本的原因就是这些缓存机制所处软件分层的层次距离用户太远。正因为距离用户太远,所以它们的功能都比较通用,不能针对独特的用户需求采用最直接有效的缓存策略。

      正因为有了上述的原因,才有了页面缓存这一概念。页面缓存可以说是最贴近用户的缓存,它直接把需要展现给用户的内容缓存起来。但是常用的页面缓存技术也存在缺陷,它们不能及时获取底层数据的变化,通常只是定时的进行缓存强制刷新。这样,对于一些变更比较频繁(注意,这里说的是比较频繁)的业务系统,页面缓存无法及时更新缓存内容,造成在这些系统中无法使用页面缓存。其实,在上述的系统中并不是就不能使用页面缓存了,只要解决了上述的页面缓存无法及时获知底层数据变化的缺陷,那么在任何变化不那么剧烈的系统中都可以使用页面缓存。

      为了使页面缓存可以获知底层数据的变化,我想到一种策略暂且称之为“域对象事件驱动的缓存策略”。域对象的事件无非就是三种:增加、删除、修改。只要这三种事件发生时,可以通知缓存系统某个域对象发生了变化,再由缓存系统将该域对象相关的被缓存信息淘汰掉即可。那么我们只要提供一种机制,可以把缓存内容的键值和域对象关联起来就可以解决这个问题了。

      采用这种机制要求被缓存页面的粒度要尽量的小,这样每个页面所关联的域对象才更少,缓存的效率才会更高。那么要求使用这种页面缓存的时候,尽量将大的页面拆分为各个相对独立的局部页面,针对这些细粒度的局部页面做缓存就可以提供非常高效的缓存机制。这样的要求恰好和现在的AJAX技术的局部刷新策略非常吻合。

 

1
0
分享到:
评论

相关推荐

    ASP.NET的网页代码模型及生命周期

    在传统的ASP开发中,ASP的事件都是按照网页的顺序来处理的,一般情况下,ASP页面的事件都是从上到下处理事件,可以说ASP的开发是一个线性的处理模型。在用户的浏览操作中,每一次用户的操作都会导致页面重新被发送到...

    Windows Server 2008 活动目录视频课程csdn.txt

    4-4使用组策略为域用户映射网络驱动器03:55 4-5使用组策略为用户创建拨号链接02:44 4-6配置域用户登录发短信通知管理员06:35 4-7使用vbs脚本为用户自动连接打印机06:46 4-8使用开机脚本自动将开启XP防火墙04:35 4-9...

    jdbc基础和参考

    1.域对象:主要作为信息的载体 2.行为对象:注重操作 Register(User user){ } insert(User user){ String sql = "insert into s_user( user.getId()+user.getName().......)"; } insert(User user){ save...

    windowsnt 技术内幕

    用Winn32.exe执行Windows NT升级 使用联机丛书 系统策略编辑器简介 理解系统策略编辑器模式 理解系统策略处理 在域控制器上实现系统策略 在非域控制器上实现系统策略 使用系统策略编辑器复选框 从登录对话框中删除...

    Java核心技术II(第8版)

    12.4 访问对象域 12.4.1 访问实例域 12.4.2 访问静态域 12.5 编码签名 12.6 调用Java方法 12.6.1 实例方法 12.6.2 静态方法 12.6.3 构造器 12.6.4 替代方法调用 12.7 访问数组元素 12.8 错误处理 12.9 使用调用API ...

    精通windows server 2008 命令行与powershell电子书PDF版(第一卷)

    9.6.1 gpoTool——检查域控制器上组策略对象 428 9.6.2 gpresult——组策略结果检测工具 431 9.6.3 gpupdate——组策略刷新工具 434 第10章 批处理和配置文件 436 10.1 批处理命令 436 10.1.1 break——检查Crtl+C ...

    citrix 中文管理操作手册

    在包含数千个对象的域中发布应用程序 39 使用发布应用程序向导发布资源 39 管理已发布资源的发布选项 40 选择资源类型和发布方法 40 定位要发布的应用程序 41 验证已发布应用程序的命令行参数 42 在内容与已发布应用...

    精通windows server 2008 命令行与powershell 电子书PDF单文件完整版

    9.6.1 gpoTool——检查域控制器上组策略对象 428 9.6.2 gpresult——组策略结果检测工具 431 9.6.3 gpupdate——组策略刷新工具 434 第10章 批处理和配置文件 436 10.1 批处理命令 436 10.1.1 break——检查Crtl+C ...

    精通windows server 2008 命令行与powershell 电子书PDF版(第四卷)

    9.6.1 gpoTool——检查域控制器上组策略对象 428 9.6.2 gpresult——组策略结果检测工具 431 9.6.3 gpupdate——组策略刷新工具 434 第10章 批处理和配置文件 436 10.1 批处理命令 436 10.1.1 break——检查Crtl+C ...

    精通windows server 2008 命令行与powershell电子书PDF版(第三卷)

    9.6.1 gpoTool——检查域控制器上组策略对象 428 9.6.2 gpresult——组策略结果检测工具 431 9.6.3 gpupdate——组策略刷新工具 434 第10章 批处理和配置文件 436 10.1 批处理命令 436 10.1.1 break——检查Crtl+C ...

    精通windows server 2008 命令行与powershell电子书PDF版(第二卷)

    9.6.1 gpoTool——检查域控制器上组策略对象 428 9.6.2 gpresult——组策略结果检测工具 431 9.6.3 gpupdate——组策略刷新工具 434 第10章 批处理和配置文件 436 10.1 批处理命令 436 10.1.1 break——检查Crtl+C ...

    Java开发技术大全 电子版

    12.3.2指定一个保留策略380 12.3.3使用反射在运行时获得注释380 12.3.4AnnotatedElement接口383 12.3.5使用默认值383 12.3.6标记注释384 12.3.7单成员注释385 12.3.8内置注释386 12.3.9使用注释的一些限制390...

    asp.net知识库

    与DotNet数据对象结合的自定义数据对象设计 (一) 数据对象与DataRow ASP.NET中大结果集的分页[翻译] .net 2.0 访问Oracle --与Sql Server的差异,注意事项,常见异常 Ado.net 与NHibernate的关系? 动态创建数据库...

    C#微软培训资料

    第十三章 事件和索引指示器 .148 13.1 事 件 .148 13.2 索引指示器 .151 13.3 小 结 .154 第十四章 继 承 .155 14.1 C#的继承机制.155 <<page 3>> page begin==================== 14.2 多 态 性 ....

Global site tag (gtag.js) - Google Analytics