TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?0 K4 J3 x3 ?" ?4 K7 [/ v
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
, E: g0 W& \- }: S' @ h8 r0 m# t二、OSCache的特点/ \; q, v+ ~3 K
(1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
- y2 V& F1 p0 X7 a8 ~( d (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 - M; K1 Q% d: |. \: n) ~
(3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 + m6 P4 E( p7 [% V, @
(4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。7 G' L' }: n: v6 [& c" C* v h8 S
(5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
" A2 Q$ Y& G# ?8 U3 D三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
$ i% g" ?6 s& X2 P m I5 m% L4 ^ (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
3 p! [% ]- a6 Q6 [- |$ X) z
) T( u: c5 e2 E (2)、oscache.properties基本配置说明7 Q; Z3 j4 \3 M9 [/ X
#缓存到硬盘上cache.memory=false# x- I1 E) \- V" X
#缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
% t1 D4 T4 f: h8 B3 | #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache
2 B. T$ J$ g* z. B$ m( v: `- w: t6 ` #设置缓存数量cache.capacity=1000
9 E* H' C, w# o2 l% q2 ?- D #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true
1 D$ T; d1 T' n1 F& h7 S" @% ]* E1 O5 f3 G( L2 i
(3)、把oscache.tld 标签放到WEB-INF下。* E8 I, Y! T3 s) r3 u5 k: e
- N7 f5 S- ~7 T. X
(4)、测试页面index.jsp2 c' D9 }, N1 s/ c: n2 j
- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>0 Z& _* o7 d! d! d& s
- <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %># x5 v1 [' P: Y% o4 W
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
3 ]2 J' H: k" J - <html>
& k/ m: M$ l% f/ o- P! P& w - <head>' a' `6 L4 ?. F; b5 s" q' Q
- <title>osCache缓存设置 Powered by科帮网</title>" o" Q! ^8 m2 {5 O0 Q) k! N
- <meta http-equiv="pragma" content="no-cache">* s: l/ E' q5 P: j
- <meta http-equiv="cache-control" content="no-cache">7 e M3 I6 C4 t: v* ?/ R$ D: g
- <meta http-equiv="expires" content="0"> 1 a; l2 B9 G* ?1 D' L2 ~) v) s) m4 n
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
# A1 w7 Y7 p! ` - <meta http-equiv="description" content="This is my page">
4 y5 e( W) H" d - </head>+ L# u4 z; I) q L: k) b
-
R- [- j k( P, a3 o7 S/ g8 G - <body>. U' K; \ g( j! l: ~& T
- 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:
: P9 G8 h; [$ e5 N- |; O - <cache:cache time="10">5 E2 ~, B+ o1 i8 G O: M. w
- <%8 V- I% E0 D3 }
- long time= System.currentTimeMillis();
5 f6 C, v2 z) d( d# N* Z - Date date=new Date(time);2 M: ]7 @8 V3 \' f" G
- %>, \% ^ `# }7 P3 {) D
- <%=date.toLocaleString()%>6 e6 c9 V2 a( a7 q" N M# _
- </cache:cache>
( L* S5 ?6 g2 ]; C - </body>) F$ j3 \- C" \4 ^3 j
- </html>5 Q& ^5 u( O/ n! I( g$ L, T
复制代码
+ O: E8 m# Z9 \3 i2 P- D/ `7 {
1 z" l$ W% p; I
OsCache报错error while trying to flush writer
( @8 f! C2 [! o: T& j' r hhttp://www.52itstyle.top/thread-765-1-1.html0 R5 O& L! ?: |: l
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项* o2 a# H& c# ?& \& n5 C
http://www.52itstyle.top/thread-766-1-1.html
0 J8 N4 q$ G3 }/ q9 L
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
9 ]( j9 r% X0 X0 t2 m9 L0 R& b! ?
, _" U8 t/ Z7 q) n
8 Z2 I1 }% `0 T; z# A
|
|