TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
0 z$ }1 s% O+ y OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
. c3 n# l8 ^8 \. f二、OSCache的特点
# v- R( l q6 j2 ^- z% n# B6 ], R (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
3 i) {9 d* n4 } (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 2 | }/ V; ]( w
(3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。
$ @- |2 D0 W2 j (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。# ?: E! E+ y* Y/ ]
(5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
: G! o$ r0 V* j j7 u3 l三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
% u; o$ q: w: l. j (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
. c6 g( x' _5 T4 c: l7 Q) O& M4 }' u
(2)、oscache.properties基本配置说明
9 ^' D+ E+ n4 O# U5 b+ Z6 A- { #缓存到硬盘上cache.memory=false
- }1 E) H4 N/ S #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
# _# e! ~0 t; s2 H6 U #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache5 I" i( w! g/ i$ E# Q2 d
#设置缓存数量cache.capacity=10001 `* ^+ C' ^' E$ r- Z2 j
#设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true
. J& X6 m* F1 b) X+ {2 j
7 r* f9 `( C- v( n' ]% K (3)、把oscache.tld 标签放到WEB-INF下。+ w$ c O. J1 l9 e
' K4 e# _5 o8 m6 y+ {$ A# J" E
(4)、测试页面index.jsp
& q: w* r" c9 B3 r5 t( H- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
4 N( j L7 C* m - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>
" u7 p/ V# P5 d1 P4 l( R - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">9 f- D% {: x4 m/ y# `; k
- <html>8 S6 }& J1 I+ _$ V# k# Y2 b+ I& g/ c/ O
- <head>
5 e' z6 a. {# F k - <title>osCache缓存设置 Powered by科帮网</title>% G5 S, g* N0 \8 I! [
- <meta http-equiv="pragma" content="no-cache">
" Z9 i0 e6 Z, r% b5 m% B9 O - <meta http-equiv="cache-control" content="no-cache">0 m' P- w9 r. f- T) s1 B8 F( Z$ F! i
- <meta http-equiv="expires" content="0">
4 j1 L) H* m; f) q9 G - <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
S4 r5 {/ W! ~ - <meta http-equiv="description" content="This is my page">5 U& R' ?% S: v
- </head>
+ ~; P5 O8 O& V5 A. t" K - & l8 G# J9 j3 Q1 \) f2 V
- <body>
0 S1 ~0 a9 I! D- d" y4 Y c" z6 `; c - 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:. ~, l: n3 `, q+ q& {6 t2 g B
- <cache:cache time="10">5 e# T3 `: w( v3 M2 t
- <%$ n! H( Q1 _* Q0 i3 t* {1 j
- long time= System.currentTimeMillis();) E, C9 _& M) t2 `# Z, o
- Date date=new Date(time);
, [9 B1 C+ v6 Q - %> N$ T9 F7 K- _1 }3 S$ \
- <%=date.toLocaleString()%>
* G8 \- _3 g: Y1 q0 M/ ] - </cache:cache>
" }% W3 t6 U% b$ ]' O! `% R - </body>2 n4 p+ Y' c- r+ g1 u- x) G
- </html>
: Z: v* u; A/ B1 r4 h; @: O
复制代码
# N6 z4 Q7 R1 p3 }+ ~( |' F2 M% n, _" E$ r- E# C; U7 X6 V
OsCache报错error while trying to flush writer
% S5 B% K( I# G' x( r* |5 W whttp://www.52itstyle.top/thread-765-1-1.html
- P& G2 B) ]& ]9 XOSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项& X: [0 S2 c7 ~4 H+ Y$ |0 @
http://www.52itstyle.top/thread-766-1-1.html
6 \, M0 X2 I$ r: D9 W! n, c5 |8 B6 n
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
# f/ B4 z2 y9 }
& X- Y4 o5 x, _+ E
1 w2 b+ |! }& L. | |
|