TA的每日心情 | 衰 2021-2-2 11:21 |
---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?, Q% l, b5 O' U8 y
OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
: L2 R2 e: w. k: n9 E二、OSCache的特点
+ |) P3 I3 C/ @& J @2 V5 U9 u$ Q (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
; [$ L2 \/ u3 t1 k (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。
$ Y: k7 a! @- \+ m& ]# g5 g (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 ( a3 g. v5 n+ Y( {
(4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
3 e/ t1 s- l' V (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
: o3 a+ |+ r7 _9 Z三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。 p! `( n+ j) C8 G& z$ E( X; h
(1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。, [0 z, e, f6 F" r
3 V- p: q k" Q# `
(2)、oscache.properties基本配置说明
2 C2 a$ p' n5 c9 t1 p #缓存到硬盘上cache.memory=false
# T- S+ R. x) p! O3 ]/ w #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
7 g% @+ Y& h2 c& M #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache
u5 Q5 \+ Q4 Y$ _: y) } #设置缓存数量cache.capacity=10001 ~; @5 l+ i: a! N3 ?
#设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true7 h1 L5 b. e, w5 Q% k
- [; I( r4 C, V$ {9 O+ \& b# r
(3)、把oscache.tld 标签放到WEB-INF下。/ w m) k. V! i( }
! {; }" e' P, N) o' q
(4)、测试页面index.jsp
% V& v3 Y0 q3 j" L- W( L1 y) c- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>) n* ^8 K. F1 u; j, K
- <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>3 U, T8 S2 L b0 H4 \
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">4 w3 }" N+ t5 X2 w, ]4 A+ j& i3 g
- <html>
2 ]! s5 L2 U' f5 \ - <head>1 D5 c8 c) ?# N2 P3 H* E+ ~ g
- <title>osCache缓存设置 Powered by科帮网</title>
# x3 d, v, j8 s/ w0 q9 S- y% c! i7 G - <meta http-equiv="pragma" content="no-cache">
6 Z' G) m6 X0 x% o# ]& B& Z' x - <meta http-equiv="cache-control" content="no-cache">1 }: l: W+ [, l4 B2 P. v3 B
- <meta http-equiv="expires" content="0"> ' m7 z7 H( z0 R5 P$ q' z# `# }
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
5 g. D" _# H& C7 B% U) \& R( Y# s1 ? - <meta http-equiv="description" content="This is my page">. a6 Z# ]7 S3 I4 @0 t& H
- </head> K" u( d; m) O* Q; {# \
-
! K/ W1 G6 W4 d0 z! {/ @7 s - <body>1 N9 |' g5 ~! \* P* E- t
- 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:7 R! g9 w" U' N( D2 {8 l/ d1 q
- <cache:cache time="10">
6 r( O0 [" M3 m1 H# W, e4 R - <%
; K, X7 [4 s% L/ B% |# p - long time= System.currentTimeMillis();4 c+ i: P0 r$ b' u5 ~
- Date date=new Date(time);
: b' Y- y e% r - %>
9 h1 I- l/ }3 @: E( N - <%=date.toLocaleString()%>; ?9 v/ [& [" m
- </cache:cache>
k. I! \2 j$ A - </body>7 q7 F4 m+ k& i, }, z# F. ^# Z
- </html>0 r n' l& `- D2 `4 `/ \
复制代码
' J k) e) B, E* Z; a4 A# D
8 G: r4 U, R7 }1 ^7 T8 fOsCache报错error while trying to flush writer7 q* |- o" p E7 J
http://www.52itstyle.top/thread-765-1-1.html
+ S. r: G z3 ]& ~2 k( nOSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项! V* d! g N" W5 h% [
http://www.52itstyle.top/thread-766-1-1.html
; a3 U* y1 }9 B3 T: m ]" g
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
# Q3 ]! h, s4 C8 q. z% C$ V3 g- E2 L3 S9 G
& C8 j' C4 Q9 { |
|