TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
, O" l t; i( K OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
9 J$ n( ^& q" J) j二、OSCache的特点
, C: M+ s: @* R6 u+ z& o (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。7 \$ i9 T9 Q; H y& d! g. s
(2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。
' @" U3 N% E5 w (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。 ! v2 b+ I# d: q1 B8 U Z; h- V6 t
(4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。4 e: a& j: a$ w( ~( O* _! Y
(5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。( l3 ~% |. f; q2 v& K& l
三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。/ z0 y. j L" v! _2 `0 {0 ~
(1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。- J! x! N- I6 k0 C
$ g( {- ~" v2 \8 s( p0 o
(2)、oscache.properties基本配置说明9 ?! z" U! B# e6 w, y; ?. e% z
#缓存到硬盘上cache.memory=false
) E; u0 S% E1 w" F9 c #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener) _8 ~% [% E4 b) @; X
#缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache
. m1 W& z; U# _% t% }3 x #设置缓存数量cache.capacity=1000
& ~3 o+ v0 V. a* |8 _+ g0 ^& H #设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true. n( o8 [, G# |/ ?
/ ?" ]5 B: W, \( B. b4 h
(3)、把oscache.tld 标签放到WEB-INF下。" T5 z$ j3 M7 A6 Z2 n
6 A: W* l# a3 ]! A1 U$ b3 R (4)、测试页面index.jsp7 d1 H( D4 P! x
- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>$ Y* j3 j6 C/ C, v8 K1 {2 ?3 I
- <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>' H, b& s a8 e: ~; m! n! i; h- g
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
: _& Y5 p* l0 s. ]& w Q2 k, h - <html>6 k4 @$ \3 K# L6 b X' u
- <head>
* C/ p6 x. g* t* a ` - <title>osCache缓存设置 Powered by科帮网</title>& z3 S% U3 s4 x3 C( ?) `" Q* d3 W
- <meta http-equiv="pragma" content="no-cache">0 s1 A3 X: b% ^7 x& T4 }, ]
- <meta http-equiv="cache-control" content="no-cache">
; @4 t3 G; R+ l+ U! @, m - <meta http-equiv="expires" content="0"> / m2 n4 ?6 v! {6 ^0 a1 s
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">, e; F7 n: l- |* M) e+ M
- <meta http-equiv="description" content="This is my page">' h, b2 c+ O; \( V/ W% y4 K
- </head>5 l0 p6 [9 c& e) @5 E8 s7 u
-
* M( n; c+ a, U7 V - <body>% \7 {/ S( _9 b$ i! x. U4 O2 W6 L
- 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:3 H" h4 X; `" j% [; {5 h# h
- <cache:cache time="10">
5 H, w' z- d% n6 D. @, S6 w# T - <%6 i5 Y# G5 l4 }8 I
- long time= System.currentTimeMillis();
8 `4 _! M' _1 W2 N - Date date=new Date(time);1 J `# ]- H) \: a- b
- %>
' S" `4 `; p& l4 o6 | - <%=date.toLocaleString()%>+ t8 o" ]6 V: j1 b. ]+ z
- </cache:cache>7 i. t& |- ^3 W. W% b/ [
- </body>
% j8 k$ ?. R& v; T) U( Z& d - </html>$ v5 b7 A- m7 `7 z8 Q; j2 D$ i
复制代码
4 }& k% |9 K1 v% b
+ p- z8 b) o4 d- u! FOsCache报错error while trying to flush writer
$ K! L( @9 V# k& M9 c) Q: lhttp://www.52itstyle.top/thread-765-1-1.html
8 \+ J' ~; d( I; _OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
) N# Z8 o% n$ |+ L. h- _: Nhttp://www.52itstyle.top/thread-766-1-1.html n# P+ d" r! S% {) C; G
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
. o2 k7 U. Z1 O
0 [! T, k2 T m3 s5 p9 [
: d1 V* [4 F$ i4 l5 v" s/ V
|
|