當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
OSCache-JSP页面缓存(2)
生活随笔
收集整理的這篇文章主要介紹了
OSCache-JSP页面缓存(2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果在jsp中使用如下標簽
<cache:cache key="foobar" scope="session"> some jsp content </cache:cache>那么這中間的一段jsp代碼將會以key="foobar"緩存在session中,任何其他頁面中使用這個key的cache標簽都能共享這段存在緩存中的執行結果。
考慮一個需求,一個頁面是有許多個不同的jsp文件拼出來的,可能在頁首有隨機的廣告,登錄用戶的信息,系統的即時信息,固定的目錄信息等等;這其中可以考慮將固定的目錄信息放入緩存中,而其他動態信息則即時刷新;再進一步考慮有時候頁面之間的信息是關聯的,只有當其中一條信息的內容變化了才需要去刷新。
對于這種需求就可以考慮在<cache:cache/>標簽中配置group屬性,將不同的具有關聯關系的cache內容分組,這樣oscache會自動的幫你檢查該組緩存內容的變化情況,如果有任何一子成員組的內容變化了則會執行刷新,這樣就可以在頁面實現數據的動態同步。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="java.text.SimpleDateFormat"%> <%@ 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分組group1和group2,將group2設置為每次都執行刷新,所以test1為key的cache每次刷新頁面內容都是重新執行過的 --><cache:cache key='test1' groups='group1,group2' duration='5s'><b>Cache Time1</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><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><!-- test2只有當間隔時間超過5秒才會更新內容 --><cache:cache key='test2' groups='group1' duration='5s'><b>Cache Time2</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br> This is some cache content test2 that is in 'group1' (refreshes if more than 5 seconds old)<br></cache:cache><hr><!--每隔20秒刷新一次-><cache:cache key='test3' duration='20s'><b>Cache Time3</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br> This is some cache content test3 that is in 'group1' and 'group2'. The groups are added using the tag.<br></cache:cache><hr>
<!--實時刷新--><cache:cache key='test4' duration='20s'><b>Cache Time4</b>: <%=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())%><br> This is some cache content test4 that is in 'group1' and 'group2'. The groups are added using the tag.<br><cache:addgroups groups='group1,group2' /></cache:cache><hr> </body> </html>
<cache:addgroup group='{you_group}'/>可以將所在的you_group加入當前所在位置的group中
總結
以上是生活随笔為你收集整理的OSCache-JSP页面缓存(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习strut时遇到的问题 - Un
- 下一篇: css实现透明度(兼容IE6、火狐等)