更新时间:2023年04月03日10时00分 来源:传智教育 浏览次数:
两个并发的事务同时访问持久层缓存中的相同数据时,可能会出现各类并发问题,所以也需要采用必要的隔离措施解决这些问题。由于在二级缓存中也会出现并发问题,因此在Hibernate的二级缓存中,可以设定以下四种类型的并发访问策略,以解决这些问题。每一种访问策略对应一种事务隔离级别,具体介绍如下:
·只读型(Read-Only):提供Serializable事务隔离级别,对于从来不会被修改的数据,可以采用这种访问策略。
·读写型(Read-write):提供Read Committed事务隔离级别,对于经常读但是很少被修改的数据,可以采用这种隔离类型,因为它可以防止脏读。
·非严格读写(Nonstrict-read-write):不保证缓存与数据库中数据的一致性,提供Read Uncommitted事务隔离级别,对于极少被修改,而且允许脏读的数据,可以采用这种策略。
·事务型(Transactional):仅在受管理环境下使用,它提供了Repeatable Read事务隔离级别。对于经常读但是很少被修改的数据,可以采用这种隔离类型,因为它可以防止脏读和不可重复读。