TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
8 ^+ J g& n" c8 ?5 y2 \2 j OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
% G8 ?. S% H/ [* D5 }2 w6 I7 y二、OSCache的特点0 }& k }; @6 i' s9 X
(1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
, h) v- E# s! b$ D% R( W; m (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 * M7 R0 X, A3 e+ K7 ^
(3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。
1 R2 [# b3 i% }' W% @ (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
9 c; m; q) |( A* g2 s' Q( w (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。! j- B2 z) n: @. L* f2 _
三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
7 F% J* |$ n6 j d (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
% z9 P8 W% {+ j7 y& C& o/ N5 f$ y% q' J, v" Y' d% K0 _
(2)、oscache.properties基本配置说明
: {! Z8 P! q9 J #缓存到硬盘上cache.memory=false
; ]) q5 E4 ?' U% a$ d( {' ]0 I #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
. u4 M) O1 j" d0 U) b #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache* L/ Y q9 V' n2 n$ U
#设置缓存数量cache.capacity=1000
5 r! A, L9 b. x3 g* r- k" t3 i. m8 m/ \ #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true/ G1 Q! z/ n3 {
2 s/ P: L" r z) R( D
(3)、把oscache.tld 标签放到WEB-INF下。
+ e' [# z/ ~5 B) n. s8 u
' t$ w; i( B3 M2 g r" P0 w (4)、测试页面index.jsp! v; K* V6 V5 K- R% Y' }
- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
) _5 Y- g# I' g - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>! Q5 k: H3 r) x: ?1 B% V
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">$ H) t2 R3 K4 N
- <html>
+ m/ ~) g9 B2 b - <head>& `3 J6 @) H; k
- <title>osCache缓存设置 Powered by科帮网</title>
3 o/ u1 }8 w$ I t% }+ k/ I - <meta http-equiv="pragma" content="no-cache">6 I* |) _1 a0 N/ ^- M5 E2 T
- <meta http-equiv="cache-control" content="no-cache">! O2 h: y6 |, d' F) [
- <meta http-equiv="expires" content="0"> 8 {1 N7 v" S: ~6 ?
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
$ \7 Q$ u% R, U. m) X. } - <meta http-equiv="description" content="This is my page">' R! h% m; F) |/ e; s/ f
- </head>: e9 Y' j& x( c$ W
-
" v) g8 c2 `1 [0 F Q - <body>
+ ?8 Y9 z- A( I$ I4 n5 P - 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:" f0 x# U5 y5 _8 J( W' v
- <cache:cache time="10">: l4 `9 |( ]) ~& U5 e! E# g1 O5 @# y
- <%1 [% D5 u# g, Z) Y" e4 N+ T. z4 _
- long time= System.currentTimeMillis();" k$ R* r& Z5 m/ e+ _' v
- Date date=new Date(time);- L& }$ ?/ I2 x) Y$ {
- %>; \' D+ ] ]% p" F- a7 {* C: B
- <%=date.toLocaleString()%>1 Y& t. S' ?( Q! t1 r
- </cache:cache>% h& Q3 h, A- N& m! q3 k
- </body>9 j' U0 I: M% M4 O' S
- </html>
' u5 C" o: O1 a0 d) t, t8 D
复制代码
; c0 H9 p& g( u+ P+ G& K; m
; F6 \) L9 ?4 U# [ _. [; b1 NOsCache报错error while trying to flush writer
+ p5 R6 {* H7 w# K3 J9 S2 \3 ehttp://www.52itstyle.top/thread-765-1-1.html4 n( N, S$ U3 w
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
& d1 s; h B8 \: A8 ?4 H, @http://www.52itstyle.top/thread-766-1-1.html3 c( t5 E" X1 x. T( h( @8 o1 W
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
8 K& y2 B2 n y! {
9 U' O: {/ S+ e
8 u* C! Z+ r/ f2 t* Q |
|