TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
, Y, ]* X: c, g OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
/ E, \- ^ ?, ~" w$ T0 L/ s# H( I6 Y二、OSCache的特点, [6 I7 A/ Q4 g+ | c, S" e
(1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。- A3 P G3 `$ l+ w& _4 U) S
(2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。
- O: G, ^" H5 p1 | (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 ) }) N0 L$ q5 Q, f
(4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
- h' l# c) H3 J! p1 H (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
; w1 c8 O2 [$ A& F三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
) p- Z9 d3 R& L: K2 o8 t5 ^$ k& m (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
6 i" W% ~5 A* p) \
8 k' c5 q" }$ q! t' d (2)、oscache.properties基本配置说明
* o3 G( x- B% P( U) c #缓存到硬盘上cache.memory=false
( A$ w, K1 d; K0 a* B #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener1 G- h* @4 w0 @7 w
#缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache
; |* A1 D5 g4 X! C; Y #设置缓存数量cache.capacity=1000
2 {& G& L& l2 o2 H #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true+ q9 ?( b! _" e! R* k7 ]/ h" ^
: ~8 n: x) o A. W (3)、把oscache.tld 标签放到WEB-INF下。
4 ^) O; d7 _$ u- F' N4 w5 V3 ^4 g# [; ^& k
(4)、测试页面index.jsp
: n5 b5 Q4 m( L- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>7 G9 d4 y3 E8 A( Q! Y0 G
- <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>
# y' |+ Q- n v9 g$ X/ {+ D - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">0 T2 M, O* a3 a/ d |: B- y. D
- <html>% B, A) C% l3 E7 x% q) z1 B
- <head>0 w! N7 h! F: X7 P6 W4 R0 [0 z
- <title>osCache缓存设置 Powered by科帮网</title>
3 @$ ~9 N2 w! f \- g/ t. c - <meta http-equiv="pragma" content="no-cache">
/ F) w7 g/ ^, c. H - <meta http-equiv="cache-control" content="no-cache">
' r" r. W |3 l& B5 @% |" a - <meta http-equiv="expires" content="0"> 8 ~ d; g6 X, ?( Z9 w
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
4 e( n1 U, \7 n) \ - <meta http-equiv="description" content="This is my page">
p+ o5 V, I7 }4 O4 E - </head>) M( `% h7 F; j& O) ^( O
- 9 N$ @0 s0 @- c) ~# K! M
- <body>; k; E5 d( G$ w% m) e( A
- 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:- R: Z. P. K; S! w& u3 H
- <cache:cache time="10">
) n* h1 v5 i, l( g: s- R1 l - <%8 t7 D" }8 s$ e, e' q. }: o
- long time= System.currentTimeMillis();
4 c0 P' u8 t6 D$ L( [* T3 I - Date date=new Date(time);6 G& h. w- ]# a* O# k
- %>5 F, U2 W. U; J. u- p1 `6 k
- <%=date.toLocaleString()%>
C0 V! k# M7 R) U+ |( l - </cache:cache>
- `1 {/ z; o) ? - </body>0 p* U; P3 S3 T( t1 j+ Q
- </html>
8 Q& _3 K9 }7 m) I& M
复制代码
; y, B1 ]1 y7 M% ^4 j& J& [2 v W. O+ e
OsCache报错error while trying to flush writer+ o1 u2 T! t# S( q' B0 \5 K
http://www.52itstyle.top/thread-765-1-1.html* K. [% n0 k( _: x8 g `( p
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
+ L' E# U/ w" [. y, f: Mhttp://www.52itstyle.top/thread-766-1-1.html( E0 V; r; {- S |7 O @
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
5 j! }/ y+ v9 g) [
3 R# K( F/ W- |0 x2 L2 ^7 G0 T& g
4 A2 c1 E/ w/ Y% X5 S |
|