Hibernate 的一级缓存

什么是一级缓存:

  • Hibernate创建每个Session对象时,都会给该Session分配一块独立的缓存区,用于存放该Session查询出来的对象,这个分配给Session的缓存区称之为一级缓存。也叫作Session级缓存。

为什么要使用一级缓存:

  • Session取数据时,会优先向缓存区取数据,如果存在数据则直接返回,不存在才会去数据库查询,从而降低了数据库访问次数,提升了代码运行效率。

如何使用一级缓存:

  • 一级缓存是默认开启的,在使用Hibernate的API进行查询时会自动使用。

一级缓存的规则:

  • 一级缓存 是Session独享的,每个Session不能访问其他Session的缓存区。
  • Session的save 、update 、delete 操作会触发缓存更新。

一级缓存的管理:

  • session.evict(obj); 将obj从一级缓存中移除。
  • session.clear(); 清除一级缓存中所有的obj。
  • session.close(); 关闭Session,释放缓存空间。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏桥路_大数据

nginx的安装和打点服务器配置

46711
来自专栏smy

windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案

为了方便操作,linux虚拟机会通过windows下连接网络驱动器的方式共享自己的文件,对于前端来说,我想把gulp放在windows磁盘,操作虚拟机中的php...

1693
来自专栏皮振伟的专栏

[linux][network]bond技术分析

前言: 云计算场景下,经常会使用到bond技术的主备模式。这里分析一下bond技术的原理。 原理: 简单回忆一下IPV4协议栈,以用户发送一个HTTP请求为...

36211
来自专栏挖坑填坑

Asp.net+Vue2构建简单记账WebApp之三(使用Vue-cli构建vue.js应用)

1283
来自专栏程序员八阿哥

python中os.path 与sys.path

看别人写的代码,会发现两个和路径设置有关的模块 os 和sys。 python 中我们会使用这两个模块和文件路径, 创建文件 之类的 操作。 使用ubunt...

741
来自专栏编程坑太多

一个简单的Django项目

1494
来自专栏散尽浮华

python案例-用户登录

要求: •输入用户名密码 •认证成功后显示欢迎信息 •输错三次后锁定 1 #!/usr/bin/env python 2 # -*- coding:utf-...

2547
来自专栏小狼的世界

使用phpize给PHP动态添加扩展

2、执行phpize。/home/fltrpsrv2/srv2/bin/phpize

1332
来自专栏惨绿少年

OpenSUSE 服务器系统部署

1、准备 1.1 下载系统 下载地址:https://software.opensuse.org/distributions/leap     目前的最新版本为...

3987
来自专栏决胜机器学习

RabbitMQ(六) ——RPC模式

RabbitMQ(六)——RPC模式 (原创内容,转载请注明来源,谢谢) 一、概述 RabbitMQ的RPC模式,支持生产者和消费者不在同一个系统中,即允许远程...

3505

扫码关注云+社区

领取腾讯云代金券