oscached

news/2024/7/7 12:43:09

介绍
提供了在现有JSP页面之内实现快速内存缓冲的功能,是一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。
特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。拥有全面的API–OSCache API给你全面的程序来控制所有的OSCache特性。永久缓存–缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。支持集群–集群缓存数据能被单个的进行参数配置,不需要修改代码。缓存记录的过期–你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略。

页面添加标签
<%@taglib uri=”http://www.opensymphony.com/oscache” prefix=“oscache”%>
功能
缓存默认存放在application范围,缓存时间默认为3600秒,即1小时.

1)
< oscache:cache>
<%=new Date() %>
< /oscache:cache>
缓存的key将以请求的URI+查询字串组成,
如果你访问/oscache/index.jsp?name=ttt
和/oscache/index.jsp?name=ppp将得到两份缓存。

2)
< oscache:cache key=“name”>
name=${param.name}
< /oscache:cache>
这时候缓存将以name为key,不再是请求的URI+查询字串组成,
所以如果你访问/oscache/index.jsp?name=ttt和/oscache/index.jsp?name=ppp将得到一份缓存。

3)
< oscache:cache key=”name” scope=”session”>
name=${param.name}
< /oscache:cache>
缓存范围设置为session,这时候缓存保存在用户的session中,如果用户的把浏览器关闭,再重新打开一个新浏览器,原来缓存的内容将不存在。

4)
< oscache:cache key=”name” time=”10”>
name=${param.name}
< /oscache:cache>
上面设置了缓存的时间为10秒,超过10秒后,缓存的内容将失掉。

5)
< oscache:cache key=”name” time=”60” refresh=”${param.refresh}”>
name=${param.name}
< /oscache:cache>
refresh为true将会导致缓存的内容过期而被清除,简单地说,该属性为true用于清除缓存

6)
人为管理缓存标签:
< oscache:flush scope=”application” />
清除application范围内的所有缓存
< oscache:flush scope=”session” key=”foobar” />
清除session范围内的key为foobar的缓存。

7)< oscache:flush scope=”application” group=”currencyData” />
清除application范围内组名为currencyData内的所有缓存。

8)
页面全局缓存将使用Filter实现
< filter>
< filter-name>CacheFilter< /filter-name>
< filter-class>com.opensymphony.oscache.web.filter.CacheFilter< /filter-class>
< init-param>
< param-name>time< /param-name>
< param-value>7200< /param-value>
< /init-param>
< init-param>
< param-name>scope< /param-name>
< param-value>application< /param-value>
< /init-param>
< /filter>
< filter-mapping>
< filter-name>CacheFilter< /filter-name>
< url-pattern>*.jsp< /url-pattern>
< /filter-mapping>

缓存的key将以请求的URI+查询字串组成,如果你访问/oscache/index.jsp?name=ttt和/oscache/index.jsp?name=ppp将得到两份缓存。缓存是在初次访问页面时进行的,后续的请求将会返回缓存中的内容。缓存中存放的内容为页面返回给用户的html源代码。

8)
cache.memory=true
指定是否使用内存缓存,默认值为true,即使用内存缓存。
cache.capacity
指定缓存的容量,默认的容量是无限的。我们可以为它设置缓存数量,如:
cache.capacity=100000

如果我们要使用硬盘缓存,可以这样设置:
cache.memory=false
cache.path=d:\cache (指定,缓存保存的路径,注意:路径应采用双\符)
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
cache.persistence.class用于设置持久化类。

项目结构

这里写图片描述

oscache.properties

cache.capacity=1000
cache.memory=false
//保存硬盘路径
cache.path=H:\\java\\cache
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/oscache" prefix="oscache"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
当前时间<%=new Date() %>
<br>
<!--time="3" 每3秒刷新缓存  -->
<oscache:cache language="UTF-8" >
缓存时间<%=new Date() %>
</oscache:cache>
</body>
</html>

缓存测试
1)session

这里写图片描述

这里写图片描述

2)默认appliaction
这里写图片描述
这里写图片描述

3)key
这里写图片描述
这里写图片描述
这里写图片描述

4)time
这里写图片描述
5)保存在硬盘
这里写图片描述
这里写图片描述

转载于:https://www.cnblogs.com/feiZhou/p/9344412.html


http://www.niftyadmin.cn/n/707410.html

相关文章

jsonp react 获取返回值_ajax请求JSONP格式,后台返回值是SUCCESS,返回这样的数据格式可不可以调用某某方法?...

能不能在不改后台代码的情况下实现&#xff0c;现在总是走error的方法&#xff0c;response只是”success”(**说让他们改后台很难)还要跨站请求的需求。不改后台就实现JSONP??前端什么时候这么厉害了首先要理解什么是jsonp&#xff0c;自己写个请求就行了&#xff0c;不一定…

C#,VB.NET 如何将Excel转换为Text

在工作中&#xff0c;有时我们需要转换文档的格式&#xff0c;之前已经跟大家介绍过了如何将Excel转换为PDF。今天将与大家分享如何将Excel转换为Text。这次我使用的依然是免费版的Spire.XLS for .NET组件。 Free Spire.XLS for .NET组件可以使开发人员在任何.NET应用程序上创建…

OSI与TCP/IP网络模型

OSI七层网络模型 OSI(Open System Interconnection&#xff0c;开放系统互联)七层网络模型成为开放式系统互联参考模型&#xff0c;是一个把网络通信在逻辑上的定义&#xff0c;也可以理解成为定义了通用的网络通信规范。而我们的数据在网络中传输的过程&#xff0c;实际上就是…

如何创建一个本地的mysql数据库_怎么创建一个本地的sql数据库

展开全部|CREATE DATABASE database_name[ CONTAINMENT { NONE | PARTIAL } ][ ON[ PRIMARY ] [ ,...n ][ , [ ,...n ] ][ LOG ON [ ,...n ] ]][ COLLATE collation_name ][ WITH [,...n ] ][;]::{FILESTREAM ( [,...n ] )| DEFAULT_FULLTEXT_LANGUAGE { lcid | language_nam…

codevs 1025 选菜——01背包

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解查看运行结果题目描述 Description在小松宿舍楼下的不远处&#xff0c;有PK大学最不错的一个食堂——The Farmer’s Canteen&#xff08;NM食堂&#xff09;。由于该食堂的菜都很不错&#xff0c;价格也公道&#…

kali mysql安装教程_MySQL 安装教程(windows版)

MySQL版本&#xff1a;8.0.18window环境&#xff1a;win101.首先我们需要下载ZIP解压配置安装包&#xff0c;如果有需要的可以到下面网址下载。2.将安装包下载至F盘中新建的my_sql文件夹中并解压3.配置环境变量&#xff0c;右键我的电脑&#xff0c;选择 属性---高级系统设置--…

maven的使用

作为一个技术菜&#xff0c;这篇文章主要介绍maven的基本使用。maven的安装&#xff0c;maven的用途&#xff0c;这里就不做介绍了&#xff0c;可以百度。一、cmd命令行下创建一个简单的maven项目&#xff1a;1.mvn archetype:generate&#xff08;第一次使用maven需要联网&…

(八)统一配置中心-Config

对于配置的重要性&#xff0c;我想我不用进行任何强调&#xff0c;大家都可以明白其重要性。在普通单体应用&#xff0c;我们常使用配置文件(application(*).properties(yml))管理应用的所有配置。这些配置文件在单体应用中非常胜任其角色&#xff0c;并没有让我们感觉到有头疼…