最近在学习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中
分享到:
相关推荐
- 在JSP页面中使用:通过JSP标签库(Taglib)引入osCache,如`<oscache:cache>`,并在标签中指定缓存键和内容。 - 编写Java代码:在Servlet或Controller中,使用osCache API进行缓存操作。 **5. 示例应用** 以下是...
在JSP页面缓存中,OSCache会将编译后的JSP页面存储在内存中,当客户端请求相同的JSP页面时,直接从缓存中获取,而无需重新编译和执行。 要使用OSCache,你需要在项目中引入OSCache的依赖。如果你使用的是Maven,...
在JSP页面中使用`<cache:cache>`标签来控制内容的缓存,示例如下: ```jsp <%@ taglib uri="oscache" prefix="cache" %> <!-- 自动刷新 --> 每30秒刷新缓存一次的日期: () %> <!-- 手动刷新 --> 手动刷新...
标题 "OSCACHE配置URL实现页面缓存的Filter(修改配置无需重启)" 提示我们讨论的是一个使用OSCache(OpenSymphony Cache)库来缓存Web应用程序中特定URL页面的过滤器配置。OSCache是一个开源的Java缓存框架,用于提高...
为了在 JSP 页面中使用 OSCache 功能,需要将 `soscache.tld` 文件添加到 CLASSPATH 中,通常放在 `src/webapp/WEB-INF/classes` 或 `etc` 目录下。然后在 `web.xml` 文件中添加标签库定义,如下所示: ```xml ...
在 OSCache组件中提供了一个CacheFilter用于实现页面级的缓存,主要用于对web应用中的某些动态页面进行缓存,尤其是那些需要生成PDF 格式文件/报表、图片文件等的页面,不仅减少了数据库的交互、减少数据库服务器的...
局部缓存则是在特定的业务逻辑或服务中使用,更具有针对性。 5.3.1 OSCache配置 在代码中通过OSCache API创建和管理缓存。例如,使用`CacheManager.getInstance().getCache("myCache")`获取名为“myCache”的缓存...
`cache`标签是OSCache的核心,它允许开发者在JSP页面中控制特定内容的缓存行为。当请求到达时,`cache`标签内的内容会被处理并存储在缓存中。后续请求会检查缓存是否过期,主要依据以下几个条件: - 缓存时间超过`...
OSCache的使用包括在JSP或Servlet中使用OSCache标签,例如`<oscache:cache>`,或者通过API进行编程式缓存操作。可以通过设置key和expiration时间来缓存特定内容,当数据变化时,可以自动更新缓存。 在实际应用中,...
6. **集成到JSP页面**:在JSP页面中引入Oscache标签库,使用`<%@taglib uri="oscache" prefix="cache"%>`声明,其中`uri`值应与`web.xml`中配置的`<taglib-uri>`一致。 7. **实现缓存逻辑**:在JSP页面中利用...
看就知道......................
在这个特定的案例中,`oscache.tld` 提供了关于OSCache JSP标签的元数据,如标签的名称、属性、行为等,使得开发者能够在JSP页面上方便地使用OSCache提供的缓存功能。 `oscache.properties` 是OSCache的配置文件,...
同时,需要在JSP页面中引入OSCache的标签库,并按照文档指导在页面上使用相应的缓存标记。 6. **性能监控与管理**: OSCache提供了监控工具,允许开发者查看缓存的性能统计,如命中率、缓存大小、过期策略等,便于...
在 `web.xml` 文件中添加 `<taglib>` 标签来声明 OSCache 的 TLD 文件,以便在 JSP 页面中使用 OSCache 标签库。 接下来,通过创建 JSP 页面来测试缓存功能。例如,`cache1.jsp` 使用 `<cache:cache>` 标签缓存页面...
- 在Web应用中,可以利用OSCache缓存JSP页面、EJB会话bean、Hibernate查询结果等,减少服务器负载。 - 在服务端,可以缓存经常访问的API响应,提升响应速度,改善用户体验。 - 结合Spring框架,可以通过AOP(面向...
可以使用缓存框架,如 EhCache、OSCache 等。 秘籍六:优化数据库查询 数据库查询是 JSP 页面响应速度的关键瓶颈。可以通过优化数据库查询,例如使用索引、优化 SQL 语句等,来提高页面响应速度。 秘籍七:使用...
在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、MyBatis和Spring 3.0框架的结合使用正是实现这一目标的常用方式。配合oscache缓存技术,可以进一步提升系统的性能。以下是这些技术的详细解释和...