时间:2021-07-01 10:21:17 帮助过:22人阅读
2、在resource文件夹下新建一个application.yml文件,写下如下代码(注意缩进):
spring:
cache:
type: ehcache
ehcache:
config: classpath:/ehcache.xml
3、在resources目录下新建ehcache.xml,写下如下代码(里面的注释已说明了各个代码代表的意义),其中myCache是缓存的名称,需要在后续的controller中用上:
<ehcache> <!-- 磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存 path:指定在硬盘上存储对象的路径 path可以配置的目录有: user.home(用户的家目录) user.dir(用户当前的工作目录) java.io.tmpdir(默认的临时目录) ehcache.disk.store.dir(ehcache的配置目录) 绝对路径(如:d:\\ehcache) 查看路径方法:String tmpDir = System.getProperty("java.io.tmpdir"); --> <diskStore path="java.io.tmpdir" /> <!-- defaultCache:默认的缓存配置信息,如果不加特殊说明,则所有对象按照此配置项处理 maxElementsInMemory:设置了缓存的上限,最多存储多少个记录对象 eternal:代表对象是否永不过期 (指定true则下面两项配置需为0无限期) timeToIdleSeconds:最大的发呆时间 /秒 timeToLiveSeconds:最大的存活时间 /秒 overflowToDisk:是否允许对象被写入到磁盘 说明:下列配置自缓存建立起120秒(2分钟)有效 。 在有效的120秒(2分钟)内,如果连续60秒(1分钟)未访问缓存,则缓存失效。 就算有访问,也只会存活120秒。 --> <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="600" timeToLiveSeconds="600" overflowToDisk="true" /> <cache name="myCache" maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="60" timeToLiveSeconds="120" overflowToDisk="true" /> </ehcache>
4、在controller中使用缓存,以下是示例代码:
@Controller public class Staff { @Autowired StaffDao dao; @Cacheable(value="myCache") @RequestMapping(value = {"/AllStaff","/allstaff"}) @ResponseBody public List<com.entity.Staff> findAll() { List<com.entity.Staff> staff=null; try { staff=dao.getAllStaff(); } catch (Exception e) { e.printStackTrace(); } dao.closeConnection(); return staff; } }
网站后台数据库被手动修改后前端页面不更新的问题解决
标签:resource 依赖 分析 string 使用 return value 网页 打开网页