持久层缓存范围

由于数据库的访问造成的性能问题,数据缓存的价值显得尤为重要,而持久层缓存的范围又决定了缓存的生命周期和访问维护

事务级缓存(一级缓存)
   在当前事务Session(数据库或应用事务)范围内的数据缓存。基于生命周期实现的,在每一个Session会在内部维护一个数据缓存,随着Session事务的创建而创建,销毁而销毁。
   在同一个事务缓存中,每一个持久化类的对象都是唯一的。
应用级缓存(二级缓存)
   缓存被应用进程内的所有事务所共享,这些事务可能会并发访问缓存。这种情况下就要采用事务的隔离机制。一般由SessionFactory实现,所有用同一个SessionFactory创建的Session对象共享此缓存。
   在一级缓存失效时,二级缓存生效。
   放入缓存的对象需实现Serializable接口。
   采用延迟加载技术,即访问该数据时,先返回一个代理对象,等真正访问数据的具体属性或方法时,才连接数据库进行数据查询。
   放入缓存的数据一般有以下特点:
       1.数据量小;
       2.并发访问少;
       3.修改率低;
分布式(集群)缓存
   在分布式环境下,缓存被同一个机器或多个机器上的多个进程共享,缓存中的数据被复制到集群环境中的每个进程节点。进程之间通过远程通讯来保证缓存中数据的一致性,从而实现数据同步。分布式缓存可以很好的解决并发访问的情况下数据同步的问题。
   但是分布式缓存不一定能提高系统性能,因为利用远程通讯的方式在访问速度上会很有损耗。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值