Java面经5

2022-07-23 10:53:27 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

创建索引的注意事项

  1. 并不是创建的索引越多越好,索引对于查询能进行加速,但对于插入、删除和更新,由于需要对索引进行创建与维护,会影响了这三个操作的速度
  2. 且索引占用空间
  3. 创建索引一般创建在主键上、需要频繁使用的条件字段上、范围查找
  4. 对于多值索引满足最左前缀字段

秒杀系统

秒杀获得开始之前:

  1. 将静态网页资源放到反向代理上进行缓存,避免所有的请求达到服务器。
  2. 将活动信息、开始信息、能否进行秒杀活动信息存到redis缓存中

秒杀活动开始

  1. 由于秒杀物品数量有限,可以用队列来存储成功抢到货物的用户信息。
  2. 当货物数据已经被抢购完了,则将redis缓存中能否进行秒杀活动设为false,表示秒杀活动已结束。

活动结束之后

  1. 消息队列削峰、解耦、异步

Spring事务原理

Spring事务的本质是对数据库事务的封装支持,没有数据库对事务的支持,Spring本身无法提供事务管理功能。

使用事务的流程

获取连接–>开启事务–>执行CRUD操作–>提交/回滚事务—>关闭连接

原理

Spring事务通过AOP动态代理实现。

种类

函数式事务:自己通过事务管理器开启和关闭事务 声明式事务:1.XML,解耦 2、注解,AOP方便

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/126095.html原文链接:https://javaforall.cn

0 人点赞