TA的每日心情 | 衰 2021-2-2 11:21 |
|---|
签到天数: 36 天 [LV.5]常住居民I
|
一、OSCache是什么?
8 r2 H: Q2 a3 B& U9 P2 L l- e3 \/ J OSCache标记库由OpenSymphony设计,它是一种开创性的缓存方案,它提供了在现有JSP页面之内实现内存缓存的功能。OSCache是个一个被广泛采用的高性能的J2EE缓存框架,OSCache还能应用于任何java应用程序的普通的缓存解决方案。
% R2 C0 _2 G7 O: B二、OSCache的特点
, m/ d: ` ^# V. @7 w/ C (1) 缓存任何对象:你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。
1 q) x1 k% _$ V0 T (2) 拥有全面的API:OSCache API允许你通过编程的方式来控制所有的OSCache特性。
5 Z! y! V5 v+ Q1 c2 b (3) 永久缓存:缓存能被配置写入硬盘,因此允许在应用服务器的多次生命周期间缓存创建开销昂贵的数据。
) j2 P4 p" Z, T0 g! z; U (4) 支持集群:集群缓存数据能被单个的进行参数配置,不需要修改代码。
4 r& E/ ], d/ ?; _2 _# L+ I! F (5) 缓存过期:你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不能满足需要时)。
8 P2 h/ n9 Y- R三 、本demo实现了基本的页面缓存数据 后续案例会一一添加。
6 u; M2 \0 k. [5 A, N# K (1)、所需jar包:commons-logging.jar、oscache-2.4.1.jar 如果集群通信还需加入 jgroups-all.jar。
, K* g5 ?9 p7 |
9 S d* F' w. b6 }9 c- [ (2)、oscache.properties基本配置说明
: f9 E; f$ t* _3 ^# p( ^' R9 \ #缓存到硬盘上cache.memory=false
|) K, J% S6 u9 K #缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
0 d0 `" W/ ]1 N #缓存到硬盘上时需要设置,缓存到硬盘上的路径cache.path=D:\\myapp\\cache3 e L7 O% v H1 p% u' u3 ~' j9 ?! c
#设置缓存数量cache.capacity=1000" d4 e1 m0 D% s9 n% ^, m
#设置缓存在内存溢出时缓存到硬盘上cache.persistence.overflow.only=true
: W1 j8 p4 x# v7 H
) z9 o6 H# p+ c! l* P) | (3)、把oscache.tld 标签放到WEB-INF下。
, Z8 W; Q7 g0 ^; T9 v8 e. J
' _# Q& z9 \; G1 D (4)、测试页面index.jsp
" x, l5 S" U. l8 B* Z9 X/ e1 N- <%@ page language="java" import="java.util.*" pageEncoding="UTF8"%>
1 i5 a! M8 K2 a2 }! N, _ - <%@ taglib uri="/WEB-INF/oscache.tld" prefix="cache" %>
, G4 Y8 M2 z! d - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> t% d# d# Y2 u
- <html>/ e# I% f; X, G) [! i
- <head>
) h" O. d, U; F; V - <title>osCache缓存设置 Powered by科帮网</title>
1 M+ H% _: ]; x - <meta http-equiv="pragma" content="no-cache">
6 Y: k, {+ {* ^0 ~& ] - <meta http-equiv="cache-control" content="no-cache">
# _5 f, u* p5 A" j6 A; j, C - <meta http-equiv="expires" content="0"> 7 d" y2 F+ ~# \: ^% r1 w3 X- u/ c/ ^. T) o
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">- Q% E1 C5 u+ @% B- U, \- Z
- <meta http-equiv="description" content="This is my page">
1 g4 }4 W+ X9 i5 c6 k$ t6 ^1 O - </head>
! }* k! Z1 K6 E& K0 R -
' `6 n: e0 T2 p$ i3 l$ d9 c4 X" c - <body>
5 y* \3 y) {0 {/ @; ]) ]2 @ - 测试缓存当前时间为 10秒 10秒之内刷新不会变 10秒之后时间发生变化:
: C+ Q# z! B! D6 K0 T6 Q - <cache:cache time="10">
' j W6 H0 n3 j - <%
, Z9 o8 f* y0 t% V* T1 | - long time= System.currentTimeMillis();
. A3 M: f* k- f; P E7 o: \2 F6 | - Date date=new Date(time);
' U( J* t3 P% i) Z- M - %>. [( r7 Y7 D7 u6 {' l$ Z( X
- <%=date.toLocaleString()%>) b7 I* p0 Z* \
- </cache:cache>5 P4 j4 `- U- r: a& f
- </body>9 M" W/ j% Y2 i W0 i7 P3 l5 Q* n* H
- </html>/ v L: H! i: x5 r- w/ h- j. c# i( q. {+ I
复制代码
4 ]' P: Z0 F- i7 ^ p5 d+ V1 x8 \( S# ?4 _" T, H3 I9 G
OsCache报错error while trying to flush writer% r3 ^, Z3 ^& f3 I* W8 M3 \" ~" j) w F
http://www.52itstyle.top/thread-765-1-1.html- `. h7 N/ z8 ^! t
OSCache缓存框架介绍 局部缓存和全局缓存的使用和基本配置项
9 K" @( E6 \$ T: R" X7 D4 @http://www.52itstyle.top/thread-766-1-1.html& X* e. f3 `" d4 _* P
osCache缓存页面数据项目源码(科帮网).zip
(185.15 KB, 下载次数: 26, 售价: 2 IT币)
3 w' W# m: K' m
3 n6 b' S* A0 k( @: R+ K- ]
- n( I' G z7 h* { |
|