TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
- k N; `% d4 C. u5 G6 F" J OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
& I- {9 f( x2 V4 n- a* J6 f; [二、OSCache的特点5 z$ ^* C& o' @! r
(1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
" S! p4 j4 i2 Q. ] (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 : @4 ~9 |* x: Y
(3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。
9 M9 p( y) H8 v6 n( g (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。) o9 {7 u3 n, u# B! u7 @0 ]$ g. }- n
(5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
! s& H. ?0 I5 B9 ~8 i: o三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
- @ F9 X5 X6 S8 b( h9 n; ` (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
Z1 b1 `) ?( j
- a$ N/ |! _% ]3 H, i (2)、oscache.properties基本配置说明 A+ y3 H; @7 @7 n) a
#缓存到硬盘上cache.memory=false6 b9 N% J" \: E. M4 j
#缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener7 i/ m. L; ?: f7 U1 b; x
#缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache; q5 D/ r2 `5 w+ g1 T* ?& r4 U+ e
#设置缓存数量cache.capacity=1000
- `- d! w! U% m: v$ P #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true
) [ e$ ?" _; w2 e, Y. b, S% G- u9 R( W# H, W0 Z5 o/ g: M% s
(3)、把oscache.tld 标签放到WEB-INF下。8 R6 n8 y# h3 t- V' o0 m: w& l* |) h
5 C& M' P P. O" h
(4)、测试页面index.jsp
# o3 D( B; k2 |( c- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
4 c3 w. k; a1 ~ - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>0 R2 c- s$ x6 P- G9 O' {
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">4 f' w; ^7 u$ t0 k% }6 ]* J- E
- <html>
" P: F% e; Y) ?" \4 A7 j - <head>8 l; y9 r1 r W1 G( y# i6 {, S
- <title>osCache缓存设置 Powered by科帮网</title>' j3 u% Z2 }& L3 N
- <meta http-equiv="pragma" content="no-cache">) f- U7 k' L& E1 P% v/ a; A5 T
- <meta http-equiv="cache-control" content="no-cache">+ u9 U a3 Q1 w
- <meta http-equiv="expires" content="0">
7 e, f" W1 }! R$ \ - <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
; j0 r n6 l' b. [: Z - <meta http-equiv="description" content="This is my page">% ^4 K8 X% v* g- c1 C
- </head>
) [- P! h; Y) g& N9 f. B( ^ - $ C4 T8 B; S( {6 w, T W
- <body>
7 H( K1 u; h5 o - 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:8 @4 A- V6 h8 I" T' K5 L1 I
- <cache:cache time="10">$ h, K- a* w& E6 Z; |4 c) z1 }
- <%0 M' c/ p' ~6 Q1 U; f$ b( X
- long time= System.currentTimeMillis();
2 ^' z* H) |% V! L( d8 I g - Date date=new Date(time);
$ I$ ?1 }0 |; A& i - %>
2 N. C2 ^" h+ R7 U3 C7 N4 m - <%=date.toLocaleString()%>' Q: v, ]: Y! N. o. M
- </cache:cache>' S$ e# b. b% `3 W2 M; j
- </body>' h' O! v8 V u* Q8 @; ]
- </html>' S# {3 l7 R. s# m/ X
复制代码
! v" i% ]7 v# B' Y
: `# }2 a$ |' r8 R( G$ R9 OOsCache报错error while trying to flush writer
( f- d6 H: \+ x, M% j5 ?http://www.52itstyle.top/thread-765-1-1.html
! r- K9 |$ i2 \5 M8 aOSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
. T+ i9 C. R" i: I) }' `2 I( qhttp://www.52itstyle.top/thread-766-1-1.html
4 P& H4 o! P$ A$ _3 Q3 Y
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
* l9 t- X# A6 b/ X
6 I+ F' s3 P% H& R
' `9 V; b; ]" W7 _8 x' i1 t
|
|