TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?* X$ M; W/ P6 D
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。8 M9 E8 A, t+ u9 z7 }
二、OSCache的特点
/ Y# Z- [' q- U- ?! V (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。; H b: w) y( ^( M H
(2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。 ; U8 m3 Z$ l! N/ l
(3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 ) p8 g% w6 [8 T* U: l. q
(4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
5 Q0 x( }' _# c2 v! Y8 Z (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
8 p; j9 ^) a {: \- [4 ^三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
6 X% t- \" O* @+ K/ x8 v8 D (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。7 L) [6 v& p, u( G5 g% Z, V# Y
! R, X" n0 P& \& b$ ^: G
(2)、oscache.properties基本配置说明+ N$ a1 V" o6 J( z8 o
#缓存到硬盘上cache.memory=false
% O5 w6 J2 b! L #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
/ K' F) v% X# V; v7 m #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache
& e" v: @" |% i7 H9 F; F& z* @" e( w #设置缓存数量cache.capacity=1000+ R5 T4 @' O7 ^! `8 f
#设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true1 N% c$ ]# Y, P& T0 _. g
( H' A, v$ l2 D! {
(3)、把oscache.tld 标签放到WEB-INF下。% J) Q( `, c4 E9 [
# N/ o7 o4 H) r7 B7 W
(4)、测试页面index.jsp
+ q/ x5 i& h/ T! k4 ^- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
# a2 H. K( s8 a* q - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>
T& i+ p& ?! K' v7 \3 B4 O7 s8 U - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">+ S; I' I% c3 q( X, @6 q/ V
- <html>0 t3 |2 q" F; e
- <head>$ U- _, L( ~- ]* F' k0 S" e! T% K% J
- <title>osCache缓存设置 Powered by科帮网</title>
r0 w1 a8 o3 E- v - <meta http-equiv="pragma" content="no-cache">9 D. A/ d! z) C: @ c
- <meta http-equiv="cache-control" content="no-cache">* d; J- j) a% [1 e/ |$ U
- <meta http-equiv="expires" content="0">
- n& F2 v) k* r - <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
; \, P! M1 V+ S! |0 C - <meta http-equiv="description" content="This is my page">
; x, M5 T P. |/ N - </head>5 o- |* k! x+ p! J
-
- g0 r& j" \% e - <body>
6 _. }# z. d7 G - 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:- j" Q! b/ _0 ~
- <cache:cache time="10">5 x2 `" i$ ~8 A+ F
- <%0 s7 H f# d1 m9 c
- long time= System.currentTimeMillis();
5 }( @" i) A: X3 d - Date date=new Date(time);: R7 a& I( s) ]4 R% k0 W+ g
- %>2 ~- k, ?2 P& T9 C; y, t5 i6 S
- <%=date.toLocaleString()%>
, Q/ G( G4 l$ H' `5 i7 U0 P) c - </cache:cache>
3 i E4 G8 e# f% h9 N9 \ - </body>( _( |7 |: h- P6 l
- </html>
2 N7 ~8 i4 v$ J- S1 n
复制代码
; g6 |5 p7 j9 H
, C& ]8 [5 x; s4 U
OsCache报错error while trying to flush writer! }$ G3 K. ]4 v
http://www.52itstyle.top/thread-765-1-1.html8 z- B1 j- w. u6 T6 a0 f! z
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
' Y: I9 J# a7 V$ X5 W3 yhttp://www.52itstyle.top/thread-766-1-1.html
' ^1 Y- O! p" E1 F2 g& [
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
5 `& R8 u0 z* F- [, t
2 g/ H# D8 z) g( B# Q( X9 B( Q* e
& L1 F6 W, X- b, l$ e |
|