SSM项目整合——07OSCache缓存讲解

上一篇:SSM项目整合——06文件上传功能实现
下一篇:SSM项目整合——08页面展示缓存使用

SSM项目整合——07OSCache缓存讲解


本文我们为了方便演示新建一个项目。

一.创建项目与导包

点击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代表缓存的存活时间是5skey的值是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页面展示缓存使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值