`
toby941
  • 浏览: 25801 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

在jsp页面中使用oscache标签实现可配置的页面缓存

    博客分类:
  • JAVA
阅读更多

最近在学习oscache的相关内容,写点东西作为巩固

如果在jsp中使用如下标签

<cache:cache key="foobar" scope="session">
         ... some jsp content ...
</cache:cache>

 那么这中间的一段jsp代码将会以key="foobar"缓存在session中,任何其他页面中使用这个key
的cache标签都能共享这段存在缓存中的执行结果

考虑一个需求,一个页面是有许多个不同的jsp文件拼出来的
可能在页首有随机的广告,登录用户的信息,系统的即时信息,固定的目录信息等等
这其中可以考虑将固定的目录信息放入缓存中,而其他动态信息则即时刷新
再进一步考虑 有时候页面之间的信息是关联的,只有当其中一条信息的内容变化了才需要去刷新
对于这种需求就可以考虑在<cache:cache/>标签中配置group属性,将不同的具有关联关系的cache内容
分组,这样oscache会自动的帮你检查该组缓存内容的变化情况,如果有任何一子成员组的内容变化了
则会执行刷新,这样就可以在页面实现数据的动态同步
代码如下:(来源oscache:groupTest.jsp )

<%@ page import="java.util.*" %>
<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="cache" %>

<head>
<title>Test Page</title>
<style type="text/css">
body {font-family: Arial, Verdana, Geneva, Helvetica, sans-serif}
</style>
</head>
<body>

<a href="<%= request.getContextPath() %>/">Back to index</a><p>
<hr>Flushing 'group2'...<hr>
<cache:flush group='group2' scope='application'/>
<hr>
<cache:cache key='test1' groups='group1,group2' duration='5s'>
    <b>Cache Time</b>: <%= (new Date()).getTime() %><br>
    This is some cache content test1 that is in 'group1' and 'group2'. Normally it would refresh if it
    was more than 5 seconds old, however the <cache:flush group='group2' scope='application'>
    tag causes this entry to be flushed on every page refresh.<br>
</cache:cache>
<hr>

 

这里有两个cache分组group1和group2,将group2设置为每次都执行刷新,所以test1为key的cache每次刷新页面内容都是重新执行过的

<cache:cache key='test2' groups='group1' duration='5s'>
    <b>Cache Time</b>: <%= (new Date()).getTime() %><br>
    This is some cache content test2 that is in 'group1' (refreshes if more than 5 seconds old)<br>
</cache:cache>
<hr>

 

而test2只有当间隔时间超过5秒才会更新内容

 

<cache:cache key='test3' duration='20s'>
    <b>Cache Time</b>: <%= (new Date()).getTime() %><br>
    This is some cache content test3 that is in 'group1' and 'group2'. The groups are added using the <cache:addgroup /> tag.<br>
    <cache:addgroup group='group1'/>
    <cache:addgroup group='group2'/>
</cache:cache>
<hr>
<cache:cache key='test4' duration='20s'>
    <b>Cache Time</b>: <%= (new Date()).getTime() %><br>
    This is some cache content test4 that is in 'group1' and 'group2'. The groups are added using the <cache:addgroups /> tag.<br>
    <cache:addgroups groups='group1,group2'/>
</cache:cache>
<hr>
</body>
</html>

 

  <cache:addgroup group='{you_group}'/>可以将所在的cache加入存在的group中

 

2
1
分享到:
评论

相关推荐

    oscache-JSP缓存

    - 在JSP页面中使用:通过JSP标签库(Taglib)引入osCache,如`&lt;oscache:cache&gt;`,并在标签中指定缓存键和内容。 - 编写Java代码:在Servlet或Controller中,使用osCache API进行缓存操作。 **5. 示例应用** 以下是...

    OSCache缓存jsp例子

    在JSP页面缓存中,OSCache会将编译后的JSP页面存储在内存中,当客户端请求相同的JSP页面时,直接从缓存中获取,而无需重新编译和执行。 要使用OSCache,你需要在项目中引入OSCache的依赖。如果你使用的是Maven,...

    oscache,缓存机制的使用

    在JSP页面中使用`&lt;cache:cache&gt;`标签来控制内容的缓存,示例如下: ```jsp &lt;%@ taglib uri="oscache" prefix="cache" %&gt; &lt;!-- 自动刷新 --&gt; 每30秒刷新缓存一次的日期: () %&gt; &lt;!-- 手动刷新 --&gt; 手动刷新...

    OSCACHE配置URL实现页面缓存的Fliter(修改配置无需重启)

    标题 "OSCACHE配置URL实现页面缓存的Filter(修改配置无需重启)" 提示我们讨论的是一个使用OSCache(OpenSymphony Cache)库来缓存Web应用程序中特定URL页面的过滤器配置。OSCache是一个开源的Java缓存框架,用于提高...

    oscache详细配置文档

    为了在 JSP 页面中使用 OSCache 功能,需要将 `soscache.tld` 文件添加到 CLASSPATH 中,通常放在 `src/webapp/WEB-INF/classes` 或 `etc` 目录下。然后在 `web.xml` 文件中添加标签库定义,如下所示: ```xml ...

    OScache配置

    在 OSCache组件中提供了一个CacheFilter用于实现页面级的缓存,主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF 格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的...

    OSCache配置说明文档

    局部缓存则是在特定的业务逻辑或服务中使用,更具有针对性。 5.3.1 OSCache配置 在代码中通过OSCache API创建和管理缓存。例如,使用`CacheManager.getInstance().getCache("myCache")`获取名为“myCache”的缓存...

    基于OSCache的页面缓存

    `cache`标签是OSCache的核心,它允许开发者在JSP页面中控制特定内容的缓存行为。当请求到达时,`cache`标签内的内容会被处理并存储在缓存中。后续请求会检查缓存是否过期,主要依据以下几个条件: - 缓存时间超过`...

    oscache缓存使用总结.doc

    OSCache的使用包括在JSP或Servlet中使用OSCache标签,例如`&lt;oscache:cache&gt;`,或者通过API进行编程式缓存操作。可以通过设置key和expiration时间来缓存特定内容,当数据变化时,可以自动更新缓存。 在实际应用中,...

    Oscache框架的搭建步骤

    6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`&lt;%@taglib uri="oscache" prefix="cache"%&gt;`声明,其中`uri`值应与`web.xml`中配置的`&lt;taglib-uri&gt;`一致。 7. **实现缓存逻辑**:在JSP页面中利用...

    OSCache jsp 缓存详解

    看就知道......................

    OSCache需要的包

    在这个特定的案例中,`oscache.tld` 提供了关于OSCache JSP标签的元数据,如标签的名称、属性、行为等,使得开发者能够在JSP页面上方便地使用OSCache提供的缓存功能。 `oscache.properties` 是OSCache的配置文件,...

    oscache-2.4.1-full

    同时,需要在JSP页面中引入OSCache的标签库,并按照文档指导在页面上使用相应的缓存标记。 6. **性能监控与管理**: OSCache提供了监控工具,允许开发者查看缓存的性能统计,如命中率、缓存大小、过期策略等,便于...

    oscache文档

    在 `web.xml` 文件中添加 `&lt;taglib&gt;` 标签来声明 OSCache 的 TLD 文件,以便在 JSP 页面中使用 OSCache 标签库。 接下来,通过创建 JSP 页面来测试缓存功能。例如,`cache1.jsp` 使用 `&lt;cache:cache&gt;` 标签缓存页面...

    一个OSCache缓存技术的关键zip包

    - 在Web应用中,可以利用OSCache缓存JSP页面、EJB会话bean、Hibernate查询结果等,减少服务器负载。 - 在服务端,可以缓存经常访问的API响应,提升响应速度,改善用户体验。 - 结合Spring框架,可以通过AOP(面向...

    提升JSP页面响应速度的七大秘籍绝招

    可以使用缓存框架,如 EhCache、OSCache 等。 秘籍六:优化数据库查询 数据库查询是 JSP 页面响应速度的关键瓶颈。可以通过优化数据库查询,例如使用索引、优化 SQL 语句等,来提高页面响应速度。 秘籍七:使用...

    springMvc+Mybatis+spring3.0+oscache配置文件

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、MyBatis和Spring 3.0框架的结合使用正是实现这一目标的常用方式。配合oscache缓存技术,可以进一步提升系统的性能。以下是这些技术的详细解释和...

Global site tag (gtag.js) - Google Analytics