简介:动态高速缓存

探讨与动态高速缓存服务有关的关键性概念,动态高速缓存通过高速缓存 Servlet、命令、Web Service 和 JavaServer Pages (JSP) 文件的输出来提高性能。

动态高速缓存引擎是动态高速缓存 API 和框架的缺省高速缓存提供程序。但是,从 V6.1.0.27 开始,动态高速缓存允许将 WebSphere eXtreme Scale(这是 WebSphere 产品的高速缓存战略方向)用作其核心高速缓存引擎。

通过将动态高速缓存配置为使用 WebSphere eXtreme Scale,您就可以利用事务化支持、更高的可伸缩性、高可用性以及其他 WebSphere eXtreme Scale 功能,而不必更改现有的动态高速缓存代码。如果您当前正在使用缺省的高速缓存提供程序,那么可以使用管理控制台或 wsadmin 命令将缺省的动态高速缓存提供程序替换为 WebSphere eXtreme Scale 动态高速缓存提供程序。您不必对动态高速缓存编程模型进行任何更改。请参阅 WebSphere eXtreme Scale 产品文档中有关 WebSphere eXtreme Scale 动态高速缓存提供程序的概述。

WebSphere eXtreme Scale 可以作为内存中的数据库处理空间进行操作。您可以使用此处理空间为数据库后端提供直接插入式高速缓存,也可以将其用作辅助高速缓存。直接插入式高速缓存使用 WebSphere eXtreme Scale 作为与数据进行交互的主要手段。将 WebSphere eXtreme Scale 用作辅助高速缓存时,后端与 WebSphere eXtreme Scale 配合使用。

使用 WebSphere eXtreme Scale 动态高速缓存提供程序的功能优势

WebSphere eXtreme Scale 动态高速缓存提供程序:
  • 支持会话的内存到内存复制。
  • 可以处理应用程序的所有通用数据和会话高速缓存需求。
  • 使应用程序能够利用系统内存,而不必使用 SAN 或存储器解决方案来主管动态高速缓存磁盘高速缓存。
  • 提供了具有可配置的副本数的可伸缩复制式高速缓存,从而使您不需要使用缺省高速缓存提供程序所使用的数据复制服务 (DRS)。使用 DRS 有时会引起性能问题。
  • 可以在运行时配置其他 WebSphere eXtreme Scale 容器,从而提高高速缓存容量并避免使用 DRS 时有时会出现的性能问题。WebSphere eXtreme Scale 将在新容器被添加到网格时自动地重新分布分区。
  • 与缺省高速缓存提供程序相比,提供了更好的高速缓存服务质量和控制。
  • 与传统动态高速缓存使用相同的运行时监视和管理工具。无论动态高速缓存是在 WebSphere eXtreme Scale 上运行还是与传统动态高速缓存配合使用,这些工具(例如高速缓存监视器和动态高速缓存运行时 MBean)的工作方式都相同。

缺省高速缓存提供程序与 WebSphere eXtreme Scale 动态高速缓存提供程序之间的功能差别

以下是缺省高速缓存提供程序与 WebSphere eXtreme Scale 动态高速缓存提供程序之间的功能差别列表:
  • WebSphere eXtreme Scale 动态高速缓存提供程序未提供磁盘高速缓存支持,这是因为,所有高速缓存数据都存放在内存中。因此,磁盘高速缓存定制属性不受支持。
  • WebSphere eXtreme Scale 动态高速缓存提供程序不支持下列功能:
    • DistributedNioMap - skipMemoryAndWriteToDisk
    • DistributedMap 和 DistributedNioMap 别名
    • 禁用依赖关系标识或模板
  • WebSphere eXtreme Scale 动态高速缓存提供程序不支持 DRS 样式的复制。因此,DRS 定制属性不受支持。

    在使用 WebSphere eXtreme Scale 动态高速缓存提供程序时,复制配置由 WebSphere eXtreme Scale 部署文件和定义文件控制。有关复制的更多信息,请参阅 WebSphere eXtreme Scale V7 信息中心中的为 WebSphere eXtreme Scale 配置动态高速缓存提供程序主题。

  • 不会调用 DistributedNioMapObject.release() 以便释放 byteBuffer 以进行 NIO 缓冲区管理。
  • WebSphere eXtreme Scale 动态高速缓存提供程序提供了有限的 PMI 支持。某些 PMI 和 MBean 计数器不再有效。有关更多信息,请参阅 WebSphere eXtreme Scale V7 信息中心中的为 WebSphere eXtreme Scale 配置动态高速缓存提供程序主题。
  • 触发任何事件时,ObjectGrid 始终将 sourceOfInvalidation 设置为 REMOTE
  • 您可以使用 DynaCache API 来注册事件侦听器,而与所使用的高速缓存提供程序无关。但是,如果您使用 WebSphere eXtreme Scale 动态高速缓存提供程序,那么对于本地内存高速缓存,事件侦听器将按预期方式工作。使用共存的容器时,将在用于处理引起事件的请求的机器上抛出事件,而不是在该请求的来源机器上抛出事件。例如,如果在服务器 A 上发出失效请求,但是要失效的高速缓存条目实际存储在服务器 B 上,那么将在服务器 B 上触发该事件。使用缺省动态高速缓存提供程序时,将在服务器 A 上触发该事件。使用独立容器时,不会通过 DynaCache 事件侦听器 API 触发任何事件。

与动态高速缓存服务相关的关键概念

探讨与动态高速缓存服务有关的关键性概念,动态高速缓存通过高速缓存 Servlet、命令、Web Service 和 JavaServer Pages (JSP) 文件的输出来提高性能。

高速缓存实例
应用程序使用高速缓存实例来存储、检索以及共享动态高速缓存中的数据对象。
使用动态高速缓存服务来提高性能
对 Servlet、命令和 JavaServer Pages (JSP) 的输出进行高速缓存可提高应用程序性能。WebSphere® Application Server 将几个高速缓存活动(包括 Servlet、Web Service 和 WebSphere 命令)合并到一个称为动态高速缓存的服务中。这些高速缓存活动协同工作以提高应用程序性能,并共享应用程序服务器的动态高速缓存服务中设置的许多配置参数。
将动态高速缓存配置为使用 WebSphere eXtreme Scale 动态高速缓存提供程序
通过将动态高速缓存服务配置为使用 WebSphere eXtreme Scale,您就可以利用事务化支持、更高的可伸缩性、高可用性以及其他 WebSphere eXtreme Scale 功能,而不必更改现有的动态高速缓存代码。
配置 Servlet 高速缓存
调用 Servlet 并完成生成高速缓存的输出之后,会创建包含 Servlet 的输出和副作用的高速缓存条目。这些副作用可能包含对其他 Servlet 或 JavaServer Pages (JSP) 文件的调用,或有关条目的元数据,包括超时和条目优先级信息。
配置 Portlet 片段高速缓存
在 Portlet 被调用并将输出生成到高速缓存完成后,将创建高速缓存条目,该条目包含该输出以及该 Portlet 的副作用。这些副作用可能包括对其他 Portlet 的调用以及有关该条目的元数据(包括超时和条目优先级信息)。
使用磁盘高速缓存垃圾收集器的逐出策略
磁盘高速缓存垃圾收集器负责根据指定的逐出策略将对象逐出磁盘高速缓存。
配置 JAX-RPC Web Service 客户机高速缓存
Web Service 客户机高速缓存是动态高速缓存服务的组成部分,用于通过对远程 Web Service 的响应进行高速缓存来提高 Web Service 客户机的性能。
高速缓存监视器
高速缓存监视器是一个可安装的 Web 应用程序,它提供了动态高速缓存当前状态的实时视图。它有助于验证动态高速缓存的运行是否符合预期。使用高速缓存监视器是处理高速缓存中的数据的唯一方法。它提供了用于手动更改数据的 GUI 界面。
失效侦听器
高速缓存中的内容被移除时,失效侦听器机制将使用 Java 事件来提醒应用程序。

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=welc6tech_dyn_intro
文件名:welc6tech_dyn_intro.html