`
navygg
  • 浏览: 42300 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

懒加载和缓存

 
阅读更多
懒加载:只有要用到数据时才到数据库里取;

1.session.load()方法,代理取出的是值,延迟加载代理;

2.one-to-one懒加载:
它用连接表查的,主表不能用one-to-one懒加载;
必需同时满足下面三个条件时才能实现懒加载
(1)lazy!=false
(2)constrained=true 外键约束和懒加载
(3)fetch=select

3.one-to-many懒加载:
(1)lazy!=false
(2)fetch=select
注意当相关联的session关闭后,再访问懒加载的数据时将出现异常。

缓存:
session:一级缓存;它不能控制缓存数量和时间;可以用evict,clear清除缓存中内容;
它的生命周期短;save,update,saveOrUpdate,load,get,list,iterate,scroll这些方法
都会将对象放在一级缓存中。

sieeionfactory:有内置缓存和外置缓存;内置缓存是只读缓存;外置缓存是二级缓存,
也是一个可配置的缓存插件;list,iterator,get,load都会填充二级缓存,但只有iterator,
get,load会从二级缓存中取数据;

分布缓存:读取为主;
中央缓存:更新为主;

使用iterator可能存在N+1次查询,因为用iterator,先从一级缓存中查询,然后查二级缓存,
最后查询数据库,查出数据的id,再根据id查所有的数据。
分享到:
评论
1 楼 println 2009-02-18  
不错

相关推荐

    ListView分页加载及图片缓存显示的实现

    在这个项目中,开发者可能使用了某种网络请求库(如OkHttp)来获取数据,结合Adapter和ListView的监听事件来处理分页加载,利用图片加载库(如Glide)进行图片的懒加载和缓存,以及可能包含了SwipeRefreshLayout以...

    douBanList(滚动到底部加载新的,软缓存,懒加载)

    通过对douBanList项目的分析,我们可以学习到如何在实际项目中有效地实现滚动加载、软缓存和懒加载,这对于提升应用性能和用户体验具有重要意义。如果你对Android编程感兴趣,深入研究这个项目将是一次极好的实践...

    知识共享-Android之ListView滑动加载、软缓存、懒加载(雷惊风)

    滑动加载、软缓存和懒加载是优化ListView性能的重要技术,它们可以提高用户体验,同时降低内存消耗。以下是关于这些知识点的详细解释: 1. **滑动加载(Pull to Refresh / Infinite Scroll)**: 滑动加载,也称为...

    el-select数据过多懒加载的解决(loadmore)

    总之,el-select组件数据过多时的懒加载解决方案,通过分页加载数据和监听滚动事件来动态渲染el-select的内容,可以有效解决大量数据导致的性能问题,并提供更加流畅的用户交互体验。在实现时,需要注意数据同步和...

    bootstrap-treeview树节点实现动态加载(懒加载)

    动态加载(也称为懒加载)是一种优化性能的技术,只在用户需要时才加载数据,而不是一次性加载所有数据,这对于处理大量数据或层级结构尤其有用,可以显著提升页面加载速度和用户体验。 本项目在官方Bootstrap ...

    安卓listview相关相关-listview获取网络图片缓存优化.zip

    在实现懒加载时,通常会结合使用内存缓存和磁盘缓存。内存缓存可以快速访问最近使用的图片,而磁盘缓存则用于持久存储,防止因内存不足而丢失数据。在Android中,我们可以使用SoftReference或WeakReference来创建...

    懒加载版本表格树

    通过分析和学习这些文件,我们可以深入理解懒加载版本表格树的实现细节和工作原理。 总的来说,懒加载表格树是大数据量场景下的理想选择,它结合了高效的数据加载策略和用户友好的界面交互,提高了应用的性能和用户...

    select懒加载组件

    在Vue.js框架中,"select懒加载组件"是一种优化大量数据下选择列表...以上就是关于"select懒加载组件"在Vue.js中的实现细节和可能涉及的技术点。通过这种方式,我们可以创建出高效且用户体验良好的大型数据列表组件。

    java swing tree树的懒加载

    你需要创建一个类实现`TreeModel`接口,其中的`getChildCount()`和`getChildren()`方法应该与你的懒加载逻辑相协调。`getChildCount()`应该返回当前节点的子节点数量,`getChildren()`则应在需要时返回子节点列表。 ...

    ViewPager控制缓存页面数量及数据懒加载

    总的来说,通过合理控制ViewPager的缓存页面数量和实现数据懒加载,我们可以有效地平衡用户体验和资源消耗,为用户提供流畅且高效的浏览体验。在实际开发中,还需要根据具体的应用场景和性能需求进行调整和优化。

    Android代码-douBanList(滚动到底部加载新的软缓存懒加载.zip

    结合这些关键词,我们可以推测这个项目是关于实现一个Android应用,该应用展示了一个豆瓣(douBan)的列表,比如书籍、电影或音乐,当用户滚动到底部时,应用会使用软缓存和懒加载策略来加载更多数据。具体来说,...

    xamarin异步加载并缓存图片库

    但还需要注意其他优化点,如批量加载、预加载、懒加载等,以减少不必要的资源消耗。 8. **UI更新**:在异步加载完成后,需要在UI线程中更新图片视图。可以使用`Device.BeginInvokeOnMainThread`确保更新操作在主线...

    帆软报表填报预览下的懒加载下拉树控件

    总的来说,"懒加载下拉树控件"是帆软报表为了应对大数据量和复杂结构数据展示而设计的一种高效解决方案,它结合了填报预览和懒加载技术,既保证了数据的完整性和准确性,又提高了系统的运行效率,为用户提供更优质的...

    Fragment懒加载 volley Picasso

    在Fragment中,我们常常使用Picasso来加载网络图片,提高用户体验,尤其是在配合ViewPager和Fragment懒加载时,可以实现图片的智能加载和缓存管理。 综合运用这三个技术,我们可以创建一个高效的ViewPager,其中每...

    IOS异步加载缓存图片

    10. **性能优化**:除了基础的异步加载和缓存,还可以通过预加载、懒加载、异步解码等方式进一步提升性能。 这个"异步加载缓存图片"的小例子,可能涵盖了以上的一些技术点,通过阅读源代码,我们可以学习到如何在...

    异步的网络图片加载、缓存及显示

    在Android应用开发中,高效的网络图片加载、缓存与显示是至关重要的,特别是在处理大量图片数据的场景下,如社交应用、电商应用等。这里我们将深入探讨如何利用Android-Universal-Image-Loader库来实现这一目标。 ...

    douBanList(滚动到底部加载新的,软缓存,懒加载).zip

    在Android开发中,"douBanList(滚动到底部加载新的,软缓存,懒加载)"这个项目可能是一个实现豆瓣图书列表展示的应用示例,它涵盖了几个关键的技术点:无限滚动加载、软缓存策略以及懒加载机制。下面将详细讲解这三...

    ViewPager的懒加载

    ViewPager的懒加载机制是为了提高应用性能和用户体验,通过延迟加载非可视页面的数据,避免一次性加载大量数据导致内存消耗过大和界面卡顿。下面我们将深入探讨ViewPager的懒加载原理以及如何实现。 1. **ViewPager...

    整合图片懒加载及百度地图定位与显示

    "整合图片懒加载及百度地图定位与显示"是一个典型的案例,它涉及到前端性能优化和地理位置服务的结合。下面将详细讲解这两个核心知识点。 首先,我们来探讨**图片懒加载**。这是一种优化策略,用于提高网页或应用的...

    ionic+requirejs实现图片懒加载

    标题 "ionic+requirejs实现图片懒加载" 描述了一个使用Ionic框架和RequireJS库来创建一个具有图片懒加载功能的移动应用项目。这个项目旨在优化用户体验,特别是在移动设备上,通过延迟加载非可视区域的图片,减少...

Global site tag (gtag.js) - Google Analytics