Haberate优化

Haberate优化

一、缓存技术:

内存空间的一小块,缩短数据来源的深度,增加系统的反应性,Haberate缓存技术,位于持久层和数据库之间,位于本机上,目的是不让数据在数据库底层去取

1.一级缓存:

Session提供,一个session对应一个事务,事务级缓存,它是默认开启的,不需要手动开启,缓存的都是对象,通过队形的ID来区分是否有重复的对象,getload方法默认调用

2.二级缓存:

应用级缓存,sessionFactory提供,默认是关闭的,需要手动开启,由同一个sessionFactory创建的session对象,共享缓存空间,二级缓存的护具由一级缓存提交而来,在实际开发过程中,不使用sessionFactory作为缓存技术,因为缓存过多,会影响创建session的性能,一般用第三方ehcache来作为二级缓存技术

3.一级缓存和二级缓存都和应用程序在同一程序上,消耗本机内存,缓存的都是对象

4.Haberate缓存数据的条件:

A.不经常变动,且访问量较高

B.并发量较小

C.数据量不能太大

二、锁机制

1.悲观锁:

操作数据时一定有至少一个人与我同时操作同一数据,在数据库内加锁,SQL语句后加for update,事务提交,完成操作后才解锁,范围控制的越小越好

2.乐观锁:

操作数据时一定没有人与我同时操作同一数据,在应用程序内加锁,通过版本号实现逻辑加锁,可能会造成用户流失

三、Haberate注解

@Entity:实体化类

@Tablename=“表名”)将类和表进行配置映射

@Id属性需要单独配置

@GenericGenertorname=“名字”,strategy=increment”声明HaberaateID生成策略)

其他属性用@Columname=“列名”,lengh=20

关联关系                                     

一对一:@OneToOne

一对多:@OneToMany

多对多:@ManyToMany

@JoinColum:特指关联外键

@JoinTablename=“表名”joinColumns=@JoinColumnname=“外键本类”))

InverseJoinColumns=@JoinColumname=“外键”)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值