上一篇:SSM项目整合——06文件上传功能实现
下一篇:SSM项目整合——08页面展示缓存使用
本文我们为了方便演示新建一个项目。
一.创建项目与导包
点击next:
勾上后点击next:
输入项目名点击next:
导入jar包:
链接:https://pan.baidu.com/s/1f2350hIxvvxPmLbc-zevFQ
提取码:kddz
二.演示
我们先来看一个例子:
index.jsp:
<%@ page import="java.util.Date" %><%-- Created by IntelliJ IDEA. --%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="o" uri="http://www.opensymphony.com/oscache" %>
<html>
<head>
<title></title>
</head>
<body>
当前时间:<%=new Date()%><br>
<o:cache>
缓存的时间:<%=new Date()%>
</o:cache>
</body>
</html>
项目部署后:
发现缓存的时间在刷新后一直没有变化。我们需要注意原理:
在<o:cache>标签配置后,它里面的内容会被缓存起来,这个缓存机制是利用map对象来存储的,他的key默认就是当前访问路径,比如我们上面这个就是localhost:8080,这里注意一下,如果如果我们访问localhost:8080/index.jsp,虽然访问的同一个页面但是由于路径不同那么这是又会重新缓存。当然这个缓存的存活时间默认是3600s,他的作用域是application域。这里的key,存活时间,作用域我们都可以设置属性,下面我们来演示一下
接下来我们来演示:
<body>
当前时间:<%=new Date()%><br>
<o:cache scope="session" time="5" key="<%=new Date().toString()%>">
缓存的时间:<%=new Date()%>
</o:cache>
</body>
上面表示缓存的作用域是session
域(检验方式就是用不同的浏览器来访问看结果是否一致,time=5
代表缓存的存活时间是5s
,key
的值是new Date()
)
上面这里的缓存其实生效了,只是由于我们的key是变化的。再来看一个例子演示:
<body>
当前时间:<%=new Date()%><br>
<o:cache scope="session" time="3" key="a">
缓存的时间:<%=new Date()%>
</o:cache>
</body>
在3秒内缓存时间一直没有变化,经过3s后缓存时间到了被销毁,此时访问重新创建。
上面两个例子没有演示session
的作用,读者可以自己演示。
三.缓存的持久化
最后我们讲一下缓存的持久化。
首先我们在创建下面文件(注意我们的文件必须在classpath路径下)
cache.memory=false
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
cache.path=D:\testCache
测试发现我们的缓存数据到了硬盘上:
上一篇:SSM项目整合——06文件上传功能实现
下一篇:SSM项目整合——08页面展示缓存使用