七、哪些方法支持缓存
*get()
*load()
*iterate() (
查询实体对象
)
save()
查询缓存只对
query.list()
起作用
一级缓存测试:
1
.
Load
测试
:
在同一个
session
中发出两次
load
查询(
1
)
2
.
Get
测试
:
在同一个
session
中发出两次
get
查询(
1
)
3
.
iterate
测试
:
在同一个
session
中发出两次
iterator
查询(
1
(
id
)
+N
,
1
(
id
))
4
.
Iterate
查询属性测试
:
同一个
session
中发出两次查询属性(
2
次,
iterate
查询普通属性,一级缓存不会缓存,所以会发出
sql
)
5
.同一个
session
中先
save
,再发出
load
查询
save
过的数据
--save
是使用缓存的
6
.同一个
session
中先调用
load
查询,然后执行
sessio.clear()
或
session.evict()
,再调用
load
查询(
2
次)
sessio.clear()
或
session.evict()
可以管理一级缓存,一级缓存无法取消,但可以管理
.
上面的语句都会发出
sql
因为一级缓存中的实体被清除了
7
.向数据库中批量加入
1000
条数据
开启二级缓存测试:
1
.开启两个
session
中发出两次
load
查询(
get
与
load
一样,
1
次)
,
2
.开启两个
session
,分别调用
load
,再使用
sessionFactory
清楚二级缓存(
2
次)
3
.一级缓存和二级缓存的交互
session.setCacheMode(CacheMode.GET); //
设置成
只是从二级缓存里读
,
不向二级缓存里写数据
(
2
)
session.setCacheMode(CacheMode.PUT);
开启
hibernate
查询缓存测试:
1
.
开启查询缓存,关闭二级缓存,开启一个
session
,分别调用
query.list
(查询属性)(
1
次)
2
.
开启查询缓存,关闭二级缓存,开启两个
session
,分别调用
query.list
(查询属性)
(
1
次)第二次没有去查询数据库,因为查询缓存生命周期与
session
生命周期无关
3
.
开启查询缓存,关闭二级缓存,开启两个
session
,分别调用
query.iterate
(查询属性)
(
2
次)第二去查询数据库,因为查询缓存只对
query.list()
起作用,对
query.iterate()
不起作用
,
也就是说
query.iterate()
不使用查询缓存
4
.
关闭查询缓存,关闭二级缓存,开启两个
session
,分别调用
query.list
(查询实体对象)
第二去查询数据库,因为
list
默认每次都会发出查询
sql
5
.
开启查询缓存,关闭二级缓存,开启两个
session
,分别调用
query.list
(查询实体对象)
第二去查询数据库时,会发出
N
条
sql
语句,因为开启了查询缓存,关闭了二级缓存,那么查询缓存会缓存实体对象的
id
,所以
hibernate
会根据实体对象的
id
去查询相应的实体,如果缓存中不存在相应的实体,那么将发出根据实体
id
查询的
sql
语句,否则不会发出
sql
,使用缓存中的数据
6
.
开启查询缓存,开启二级缓存,开启两个
session
,分别调用
query.list
(查询实体对象)
第二不会发出
sql
,因为开启了二级缓存和查询缓存,查询缓存缓存了实体对象的
id
列表,
hibernate
会根据实体对象的
id
列表到二级缓存中取得相应的数据
分享到:
相关推荐
perl516-perl-Locale-Maketext-1.22-19.el6.centos.alt.noarch.rpm
MATLAB仿真平台下的含碳捕集与垃圾焚烧虚拟电厂的协同优化调度策略研究:电转气技术下的能源利用与需求响应管理,MATLAB代码:计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度 关键词:碳捕集 电厂 需求响应 优化调度 电转气协同调度 参考文档:《计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度》完全复现 仿真平台:MATLAB+CPLEX 主要内容:代码主要做的是一个计及电转气协同的含碳捕集与垃圾焚烧电厂优化调度问题,基本调度框架是碳捕集电厂–电转气–燃气机组协同利用框架,碳捕集的 CO2 可作为电转气原料, 生成的天然气则供应给燃气机组; 并通过联合调度将碳捕集能耗和烟气处理能耗进行负荷转移以平抑可再生能源波动,使得风电 光伏实现间接可调度而被灵活利用,代码采用的是非智能算法求解,因为本文问题复杂智能算法难以求解,故使用的是yalmip+cplex求解器完成求解 这段代码是一个关于电转气协同的含碳捕集与垃圾焚烧电厂优化调度的程序。下面我将对程序进行详细分析。 首先,程序开始时进行了一些初始化的操作,包括清空命令窗口、清除变量和关闭所有图形窗口。 然后,定义了一系列的参数,这
shp格式,可直接导入arcgis使用
1、文件内容:snappy-1.1.0-3.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/snappy-1.1.0-3.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
perl516-perl-libs-5.16.3-19.el6.centos.alt.x86_64.rpm
1、文件内容:si-units-0.6.5-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/si-units-0.6.5-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:svrcore-devel-4.1.3-2.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/svrcore-devel-4.1.3-2.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
宠物管理系统(源码+数据库+论文+ppt)java开发ssm框架javaweb,可做计算机毕业设计或课程设计 【功能需求】 整个网上宠物管理系统的设计与实现,主要实现的功能有以下几点: (1)前台用户:首页、宠物用品、宠物商店、宠物领养、宠物挂失、论坛信息、宠物资讯、个人中心、后台管理、购物车、客服咨询 (2)管理员:首页、个人中心、宠物分类管理、商品分类管理、宠物用品管理、宠物商店管理、宠物领养管理、用户管理、宠物寄存管理、用户领养管理、宠物挂失管理、论坛管理、管理员管理、系统管理、订单管理等功能; 【环境需要】 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.数据库:MySql 5.7/8.0等版本均可; 【购买须知】 本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。
## 功能特点 1. 数据导入 - 支持Excel文件 - 支持CSV文件 - 数据预览 - 自动识别列 2. 图表类型 - 折线图 - 柱状图 - 饼图 - 散点图 - 箱线图 - 热力图 3. 图表设置 - 自定义标题 - 主题选择 - 轴标签设置 - 样式调整 4. 其他功能 - 实时预览 - 高清导出 - 多种格式 - 简单操作
perl516-perl-DBI-1.630-4.el6.centos.alt.x86_64.rpm
1、文件内容:strace-4.24-7.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/strace-4.24-7.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:sos-3.9-5.el7.centos.12.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/sos-3.9-5.el7.centos.12.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:srp_daemon-22.4-6.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/srp_daemon-22.4-6.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
1、文件内容:supermin5-devel-5.1.19-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/supermin5-devel-5.1.19-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
找到image文件扫一扫获取授权
一个将 Ollama 与 Flask 框架结合的 Python 源码,创建一个 Web 服务,用户可以通过浏览器或其他工具向该服务发送请求,调用 Ollama 模型生成文本。
perl516-perl-DateTime-1.06-3.el6.centos.alt.x86_64.rpm
内容概要:本文档详细介绍了如何在不同操作系统(Windows、macOS 和 Linux)上安装 PyCharm这一集成开发环境(IDE)。文档不仅讲解了具体的下载渠道以及步骤指引——涵盖社区版和专业版的选择,而且还引导用户进行首次配置,包括外观定制、键盘布局选定以及必要的组件启用,并指出在首次使用的各个阶段可能会遇到的关键事项,像是授权激活。此外,也提到了在启动过程中,针对不同平台的一些特定注意事项,例如在 Mac 中的安全性和隐私设置、Linux 下基于命令行的解压缩与启动方法。 适合人群:初次接触 Python 编程或有意向使用 PyCharm 提高生产力的程序员,尤其是对 PyCharm 不太熟悉的技术新手。 使用场景及目标:为希望使用 PyCharm 开发 Python程序的学生或专业人士提供详尽的操作指南,使其能够顺利完成安装,并熟悉 IDE 的基本特性及高级特性的初步认识,从而快速着手实际项目的开发。 阅读建议:用户可以按自己的操作系统直接跳转相关章节,逐步依照文档步骤来进行安装与配置。同时关注每段文字末提到的独特提醒项以保证顺利地使用 IDE 进行编码工作。对于计划长期使用 PyCharm 的用户来说,还可以探索更多高级插件以满足自身开发需求。
perl516-perl-DateTime-TimeZone-1.63-5.el6.centos.alt.noarch.rpm
全新前端UI界面,多种前端交互特效让页面不再单调,进群页面群成员数,群成员头像名称,每次刷新页面随机更新不重复,最下面评论和点赞也是如此随机刷新不重复 进群页面简介,群聊名称,群内展示,常见问题后台一键开关方便控制,付费进群系统后台自定义你的内容,底部显示你所设置的进群金额,也可以修改付费获取某些资源,搭建者自己集思广益,搭建的知识工具里面的内容才是内核,运营起来才是王道