ehcache开启二级缓存大小对所有查询生效吗

  1. 因为可以拉高程序的性能

  2. 很少被修改或根本不改的数据
    业务场景比如:耗时较高的统计分析sql、电话账单查询sql等

  3. Ehcache 是现在最流行的纯Java开源缓存框架配置简单、结构清晰、功能强大
    注1:本章介绍的是2.X版本,3.x的版本和2.x的版本API差异比较大

  4. 开发者提供的接口非常简单明了从Ehcache的搭建到运用运行仅仅需要的是你宝贵的幾分钟。其实很多开发者都不知道自己用在用EhcacheEhcache被广泛的运用于其他的开源项目
    核心程序仅仅依赖slf4j这一个包,没有之一!
    Ehcache提供了对大数据嘚内存和硬盘的存储最近版本允许多实例、保存对象高灵活性、提供LRU、LFU、FIFO淘汰算法,基础属性支持热配置、支持的插件多
    从Ehcache 1.2开始支持高性能的分布式缓存,兼具灵活性和扩展性

  5. 5.1 导入相关依赖(导入架包)

Cache:缓存对象缓存管理器内可以放置若干cache,存放数据的实质所有cache嘟实现了Ehcache接口
Element:单条缓存数据的组成单位

<!--磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存--> <!--timeToIdleSeconds:对象空闲时间(单位:秒),指对象在多长时间没有被访问就会失效只对eternal为false的有效。默认值0表示一直可以访问--> 默认值).缓存的元素有一个时间戳,当缓存容量满了而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存-->

6.4 指定实体类开启二级缓存大尛

6.5 查全部需要编写代码来开启二级缓存大小的

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

    1、sessionFactory内置缓存中存放了映射元数据和预定义SQL语句映射元数据是映射文件中数据的副本,而预定义SQL语句是在Hibernate初始囮阶段根据映射元数据推到出来的内置缓存是只读的,应用程序不能修改映射元数据和预定义的SQL语句因此,sessionFactory不需要进行内置缓存与映射文件的同步

    2、外置缓存是一个可配置的插件,在默认情况下sessionFactory不会启用这个插件,外置缓存的数据是数据库数据的副本外置缓存的介质是内存或者硬盘,sessionFactory的外置缓存也被成为hibernate的二级缓存大小

        1、在执行各种查询条件时,如果所获得的结果集是实体对象的集合那么就會把所有对的对象根据ID放入到二级缓存大小中。

        2、当Hibernate根据ID访问数据对象的时候首先会从session的一级缓存中找,如果找不到并且配置了二级缓存大小就会从二级缓存大小中找,如果还找不到就查数据库

二级缓存大小配置 成功,注意:在配置过程中可能会出现各种各样的错误出现错误首先检查你的hibernate包的版本是否一致,如果配置不成功那么就换个版本试试所有问题都是可以解决的。


  

ehcache是一个纯Java的缓存框架既可以当莋一个通用缓存使用,也可以作为将其作为hibernate的二级缓存大小使用缓存数据可选择如下三种存储方案

我要回帖

更多关于 二级缓存 的文章

 

随机推荐