在PC硬件体系结构里,速度最快的存储器是CPU里面的寄存器,接着到二级缓存,再到系统RAM内存,最后才到硬盘。因为这种体系结构,就决定了操作系统对文件的操作方式,或者说是最优化的算法。比方操作系统接收到写文件的数据时,就会先把数据保存到RAM里,然后在合适的时间或者合适的数据量时再写到硬盘里。但有时...
1. 尽量使用缓存,这里不是指的比如ORM框架HIBERNATE的一级缓存和二级缓存,而是独立的缓存服务器,它是存储于内存中的,
比如用户缓存,基本配置信息缓存等,它一般是在系统中经常要查的一些信息,在这里我们可以使用缓存,
我们项目中常用的比如redis memcache,这样可以大量减少与数据库的交互,提高性能。
2. 统计的功能尽量做缓存,或按每天一统计或定时统计相关报表...
分类:
其他好文 时间:
2015-02-11 16:45:58
阅读次数:
1458
一:知识点
1:缓存概念与分类
缓存:在内存中开辟一块空间,把本来应该存储在数据库的数据,存储在硬盘上。
Hibernate有三种缓存:
一级缓存
二级缓存
查询缓存
2:各种缓存的特点
(1)session级别的缓存为一级缓存,session之间不能共享缓存
(2)二级缓存又叫sessionFactory级别的缓存,可以跨session
(3)查询缓存:重...
分类:
Web程序 时间:
2015-02-08 15:32:28
阅读次数:
234
Session级别的以及缓存总是有效的,当应用保持持久化实体、修改持久化实体时,Session并不会吧这种改变flush到数据库,而是缓存在当前Session的一级缓存中,除非程序显示调用session的flush方法,或者查询关闭session时,才会把这先改变一次性的flush到底层数据库,这样可以减少与数据库的交互,从而提高数据库的访问性能。
SessionFactory级别的二级缓存是全局的,应用的所有的Seeion都共享这个二级缓存,当Session需要抓取数据时,Session就会优...
分类:
Web程序 时间:
2015-02-07 21:45:29
阅读次数:
175
一、MyBatis缓存介绍 正如大多数持久层框架一样,MyBatis 同样提供了一级缓存和二级缓存的支持一级缓存: 基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该Session中的所有 Cach....
分类:
其他好文 时间:
2015-02-04 00:14:26
阅读次数:
276
load()与get()方法的区别:
load() 方法查询数据时会先从session缓存(一级缓存)中查找,如果没有找到则会创建代理类,该代理类仅仅初始化了
OID属性,当第一次访问其他属性值时, 则会依次从二级缓存-->数据库查找,直到找到数据,最后将所有属性值赋给代理类。
而get()方法则会直接按照一级缓存-->二级缓存 -->数据库的顺序查找。get()返回的不一定是实体,也...
分类:
其他好文 时间:
2015-02-03 17:20:21
阅读次数:
156
hibernate配置truetrueorg.hibernate.cache.EhCacheProvider要缓存对象配置文件配置针对一对多等关系时增加设置 ehcache.xml配置 hibernateTemplate下使用二级缓存template.setCacheQueries(true); ....
分类:
Web程序 时间:
2015-02-03 13:00:08
阅读次数:
185
在Hibernate中有三类缓存:一级缓存、二级缓存、查询缓存。本文将介绍这三类缓存的异同点。...
分类:
Web程序 时间:
2015-02-01 21:55:19
阅读次数:
245
Android开发本质上就是手机和互联网中的web服务器之间进行通信,就必然需要从服务端获取数据,而反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过二级缓存来减少频繁的网络操作,减少流量、提升性能。...
分类:
移动开发 时间:
2015-01-31 12:37:01
阅读次数:
263
Android开发本质上就是手机和互联网中的web服务器之间进行通信,就必然需要从服务端获取数据,而反复通过网络获取数据是比较耗时的,特别是访问比较多的时候,会极大影响了性能,Android中可通过二级缓存来减少频繁的网络操作,减少流量、提升性能。一、二级缓存工作机制 所谓二级缓存实际上并不复杂,....
分类:
移动开发 时间:
2015-01-31 12:02:21
阅读次数:
206