OSCache缓存框架介绍
OSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何Java应用程序的普通的缓存解决方案。OSCache有以下特点:缓存任何对象,你可以不受限制的缓存部分jsp页面或HTTP请求,任何java对象都可以缓存。拥有全面的API--OSCache API给你全面的程序来控制所有的OSCache特性。永久缓存--缓存能随意的写入硬盘,因此允许昂贵的创建(expensive-to-create)数据来保持缓存,甚至能让应用重启。支持集群--集群缓存数据能被单个的进行参数配置,不需要修改代码。缓存记录的过期--你可以有最大限度的控制缓存对象的过期,包括可插入式的刷新策略(如果默认性能不需要时)。
OSCache是把缓存存放成Map的形式,默认情况下缓存的key由请求的URL和查询字符串组成。
从http://www.opensymphony.com/oscache/ 获取OSCache合适版本,这里我们下载了oscache-2.4-full.zip
解压oscache-2.4-full.zip,把其中的oscache-2.4.jar 和解压根目录的lib文件夹下的commons-logging.jar引入到项目中。
把解压根目录etc文件夹下的oscache.properties文件复制到项目的src目录下。
<%@ taglib uri="/WEB-INF/lib/oscache-2.4.jar" prefix="cache" %>
<cache:cache>
user=${param.user }
</cache:cache>
<cache:cache scope="session">
user=${param.user }
</cache:cache>
<cache:cache key="user">
user=${param.user }
</cache:cache>
这样,缓存的key为user,这时不管给URL中的user变量赋任何值,都只会得到一份缓存(即以user作为key的value值)。
<cache:cache key="user" time="23">
user=${param.user }
</cache:cache>
这样就设置了局部缓存时间为23秒
<cache:cache key="user" time="23" refresh="${param.refresh }">
user=${param.user }
</cache:cache>
这样,URL传递过来的参数为true时将自动清除缓存。
<cache:flush scope="application" />
<cache:flush scope="session" key="user" />
<cache:flush scope="session" group="usergroup" />
在web.xml中加入OSCache的相关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>/cache/*</url-pattern>
</filter-mapping>
#缓存到硬盘上
cache.memory=false
#缓存到硬盘上时需要设置,设置持久化类DiskPersistenceListener,持久化到硬盘上 cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
#缓存到硬盘上时需要设置,缓存到硬盘上的路径
cache.path=D:\\myapp\\cache
#设置缓存数量
cache.capacity=1000
#设置缓存在内存溢出时缓存到硬盘上
cache.persistence.overflow.only=true
OSCache缓存框架介绍的更多相关文章
- MyBatis高级篇之整合ehcache缓存框架
MyBatis高级篇之整合ehcache缓存框架 2017-09-01 0 Comments 1,671 Views 0 Times 一.前言 MyBatis为我们提供了Cache接口,也提供 ...
- .NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
在我们开发的很多分布式项目里面(如基于WCF服务.Web API服务方式),由于数据提供涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器 ...
- .NET缓存框架CacheManager---1、CacheManager的介绍
在我们开发的很多分布式项目里面(如基于WCF服务.Web API服务方式),由于数据提供涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器 ...
- NET缓存框架CacheManager在混合式开发框架中的应用(1)-CacheManager的介绍和使用
在我们开发的很多分布式项目里面(如基于WCF服务.Web API服务方式),由于数据提供涉及到数据库的相关操作,如果客户端的并发数量超过一定的数量,那么数据库的请求处理则以爆发式增长,如果数据库服务器 ...
- oscache缓存
oscache 使用总结 Posted on 2009-05-22 22:45 青果 阅读(1270) 评论(2) 编辑 收藏 所属分类: 技术点滴 前阵子对公司网站进行了性能优化,其中,有一项 ...
- .Net环境下的缓存技术介绍 (转)
.Net环境下的缓存技术介绍 (转) 摘要:介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
- .Net环境下的缓存技术介绍
.Net环境下的缓存技术介绍 摘要: 介绍缓存的基本概念和常用的缓存技术,给出了各种技术的实现机制的简单介绍和适用范围说明,以及设计缓存方案应该考虑的问题(共17页) 1 概念 1.1 ...
- SpringMVC集成缓存框架Ehcache
在互联网应用中,应用并发比传统企业及应用会高出很多.解决并发的根本在于系统的响应时间与单位时间的吞吐量.思路可分为:一减少系统的不必要开支(如缓存),二是提高系统单位时间内的运算效率(如集群). 在硬 ...
随机推荐
- windows 环境怎样恢复 (oracle 11g grid) ocr voting 损坏的集群
windows 环境怎样恢复 (oracle 11g grid) ocr voting 损坏的集群 oracle 11g 以后 ocr 能够放到 asm 磁盘上,而ASM的启动依赖于ocr和vo ...
- PLSQL笔记
/*procedurallanguage/sql*/--1.过程.函数.触发器是pl/sql编写的--2.过程.函数.触发器是在oracle中的--3.pl/sql是非常强大的数据库过程语言--4.过 ...
- J2EE在Web容器中启动报错:com.sun.jdi.InvocationException occurred invoking method.
我只是将Hibernate映射文件中的lazy属性有true改为lazy="false",即解决了上述问题.当然我之前也遇到一个问题是不调试时插入数据是不成功的,但是在Debug模 ...
- php获取post参数的几种方式
php获取post参数的几种方式 1.$_POST['paramName'] 只能接收Content-Type: application/x-www-form-urlencoded提交的数据 2.fi ...
- UITextField总结--博主总结的真好
忍不住copy过来http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393985.html 还有些不错的博客推荐给大家http://blog.c ...
- 浅谈JavaScript中的内存管理
一门语言的内存存储方式是我们学习他必须要了解的,接下来让我浅谈一下自己对他的认识. 首先说,JavaScript中的变量包含两种两种类型: 1)值类型或基本类型:undefined.null.numb ...
- ORA-01157报错"cannot identify/lock data file"解决
sqlplus以管理员方式接入数据库,启动时出现报错,如下: > sqlplus "/as sysdba" SQL> startup ...... ORA-01157: ...
- zoj1013 Great Equipment
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1013 大三了,准备刷一下动态规划,保持思维的灵活性,这一次从zoj刷 ...
- win7 64位系统调试zkemkeeper.dll出错误解决
最近调用中控科技dll文件总是会出现上问题,网上找了大半天都没解决? 今天终于解决,原来是旧的dll文件是有问题,在中控网站上下载了最新的sdk(64位),解压,找到sdk的全部文件夹. 全选所有的: ...
- LNMP卸载
先停掉所有服务 service mysql stop service php-fpm stop service nginx stop killall mysql* killall php-fpm* k ...