TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
0 x. I/ W, w! T' ~( ^8 N7 F OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。8 h. ~6 n0 P4 a8 l
二、OSCache的特点/ V* O" N4 B$ T" C' F8 L
(1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
. |, ^" B% V# B5 m (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。
7 a+ K# z( P; M (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。
! U$ |3 f8 o: N* ? H! I2 ^9 A (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
: Z" Z' V4 c% V _; @! D# ?( E (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
; j" B, ^; {/ v: P三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。 \% W- \. ?: q; d* w; E6 Y
(1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
* g& R; M4 Z2 s" m0 n/ A: X: @" l8 q# r( N5 b1 O6 i% R1 z
(2)、oscache.properties基本配置说明
0 x/ i ?7 C$ C9 i6 h: T5 | #缓存到硬盘上cache.memory=false
, v$ Y4 z0 i8 Q #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener. D8 h: e( P9 H4 | g2 N9 E
#缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache4 K7 v( O( r9 `; y" l
#设置缓存数量cache.capacity=1000
6 P& [4 {! e. Y" b #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true
' K/ s3 S3 b9 y7 g5 R( K# c5 c/ K1 @
: k3 }0 f' e) K) K- a) x (3)、把oscache.tld 标签放到WEB-INF下。
) f5 h+ k- k5 S A N- r3 A
, a" N2 q( i8 r" k: ]1 d0 a7 G (4)、测试页面index.jsp
; [: u0 G# I# P/ K$ q- q) o3 y- u- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
) p z! Z* w, j - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %># M! |5 l% |) ?
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">4 w5 E9 v2 z* J. Z5 ?
- <html>
/ [5 C, R: B6 t# E' n2 n3 d - <head>
+ A' A8 j* ?) P5 Y! {+ [ - <title>osCache缓存设置 Powered by科帮网</title>! L9 Q' l! T9 b" ?3 \
- <meta http-equiv="pragma" content="no-cache">4 { I' U" _) R8 p
- <meta http-equiv="cache-control" content="no-cache"> t& C* l2 o& ]& W
- <meta http-equiv="expires" content="0"> ) [9 p( s& c! \$ w J( ?4 [
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
5 S8 e! e3 p* O: M0 P - <meta http-equiv="description" content="This is my page"> A' ?0 G: c t6 [
- </head>
% m8 P+ i, v4 ^/ E, y; F* b8 g - + p0 b* S% Q* r$ M( c' r9 F
- <body>. b% [* w8 T# e. b- v& k$ ^! O% ~
- 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:% f; B# h4 V$ j4 Q% e9 ~
- <cache:cache time="10">
4 V9 K& }- y' R& J/ \: d - <%
2 [, l% x* G- \ - long time= System.currentTimeMillis();
- {% `% l( z" Y% K& F( @ - Date date=new Date(time);
1 m9 y2 t. ^& N* j& E" S4 w - %>' D1 {6 |# R5 m+ f' F" H
- <%=date.toLocaleString()%>
. a2 Q7 u6 C" X; I' f9 h - </cache:cache>0 h; U5 D' }; h: ]: J/ g
- </body>4 d5 d ~8 W: |3 G
- </html>6 l, `, [0 o: M/ I9 \
复制代码
( ~% J2 F: b+ k$ ^5 K' j; K. d
U& R% X' V& W1 R( ?: rOsCache报错error while trying to flush writer
" q' \+ e4 J& g1 x' Bhttp://www.52itstyle.top/thread-765-1-1.html* i% Y7 Q& z) m# G
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项3 t Y0 F3 l+ K9 i& A( _& r5 v
http://www.52itstyle.top/thread-766-1-1.html3 b4 X& D& B! }1 U2 u$ _) `" m( Z
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
# w5 D5 f |9 {. U: ^
& @# u5 s. E! ?1 I9 P
0 }5 e7 D9 `) K. l6 `. f6 W: F5 I |
|