当前位置: 首页 > wzjs >正文

ps做任务挣钱的网站网站APP推广

ps做任务挣钱的网站,网站APP推广,网页设计美工培训,怎样学好网站开发目录 1.Redis ​编辑​编辑 缓存穿透: ​编辑​编辑 缓存击穿: 缓存雪崩: 双写一致性问题:​编辑 一致性要求高的业务: 允许短暂的不一致 Redis数据的持久化问题: ​编辑Redis的数据过期策略&am…

目录

1.Redis

​编辑​编辑

缓存穿透: 

​编辑​编辑

 缓存击穿:

缓存雪崩:

双写一致性问题:​编辑

一致性要求高的业务:

允许短暂的不一致

Redis数据的持久化问题: 

​编辑Redis的数据过期策略: 

Redis的数据淘汰策略:

MySQL

1.如何去定位慢查询?

SQL语句执行很慢,如何分析?

索引的概念以及索引底层的数据结构

​编辑​编辑什么聚簇索引,什么是二级索引(非聚集索引)? ​编辑​编辑​编辑

覆盖索引和超大分页

索引创建的原则有哪些?

什么是联合索引?

联合索引的结构

创建联合索引

联合索引的使用场景

联合索引的注意事项

示例

总结

什么情况下索引会失效?

谈一谈你对SQL优化的经验

Spring

Spring框架下的单例Bean是线程安全的吗? 

​编辑

什么是AOP,你在项目中是否使用过AOP?

Spring中事务是如何实现的?

 Spring中事务失效的场景有哪些?​编辑

Spring中什么是动态代理?什么是代理 

1. 代理(Proxy)

2. 动态代理(Dynamic Proxy)

1. 基于接口的动态代理(JDK 动态代理)

2. 基于类的动态代理(CGLIB 动态代理)

总结

 mybatis的执行流程


1.Redis

缓存穿透: 

误判:

 缓存击穿:

 

缓存雪崩:

 

双写一致性问题:

一致性要求高的业务:

出现脏数据: 

 

 如何保证强一致性:

允许短暂的不一致

 

Redis数据的持久化问题: 

rdb的执行原理:

Redis的数据过期策略: 

Redis的数据淘汰策略:

 

MySQL

1.如何去定位慢查询?

 

SQL语句执行很慢,如何分析?

索引的概念以及索引底层的数据结构

B树

B+树

什么聚簇索引,什么是二级索引(非聚集索引)? 

覆盖索引和超大分页

索引创建的原则有哪些?

什么是联合索引?

联合索引(Composite Index)是数据库中的一种索引类型,它基于表中的多个列创建。与单列索引(基于单个列创建的索引)不同,联合索引可以同时对多个列进行索引,从而提高多列查询的性能。

联合索引的结构

联合索引的结构类似于单列索引,但它将多个列的值组合在一起形成一个索引键。数据库会按照这些列的顺序对数据进行排序和索引。例如,假设有一个表 orders,包含以下列:

  • order_id

  • customer_id

  • order_date

如果创建了一个联合索引 (customer_id, order_date),那么数据库会按照 customer_idorder_date 的组合对数据进行排序和索引。

创建联合索引

在 SQL 中,可以通过以下语法创建联合索引:

sql复制

CREATE INDEX idx_customer_order_date
ON orders (customer_id, order_date);

这个索引会按照 customer_idorder_date 的组合对数据进行排序和索引。

联合索引的使用场景

  1. 多列查询

    • 当查询条件涉及多个列时,联合索引可以显著提高查询性能。例如:

      sql复制

      SELECT * FROM orders
      WHERE customer_id = 1 AND order_date > '2024-01-01';

      在这种情况下,联合索引 (customer_id, order_date) 可以高效地过滤数据。

  2. 排序和分组

    • 联合索引还可以用于优化排序和分组操作。例如:

      sql复制

      SELECT customer_id, order_date, SUM(amount)
      FROM orders
      GROUP BY customer_id, order_date;

      如果存在联合索引 (customer_id, order_date),数据库可以利用索引快速完成分组操作。

  3. 范围查询

    • 联合索引对于范围查询也非常有效。例如:

      sql复制

      SELECT * FROM orders
      WHERE customer_id = 1 AND order_date BETWEEN '2024-01-01' AND '2024-01-31';

      在这种情况下,联合索引 (customer_id, order_date) 可以快速定位到满足条件的数据范围。

联合索引的注意事项

  1. 列的顺序

    • 联合索引中列的顺序非常重要。数据库会按照索引中列的顺序进行排序和查找。例如,对于联合索引 (customer_id, order_date)

      • 查询条件 WHERE customer_id = 1 AND order_date > '2024-01-01' 可以高效使用索引。

      • 查询条件 WHERE order_date > '2024-01-01' 无法高效使用索引,因为 order_date 不是索引的第一列。

  2. 索引覆盖

    • 如果查询的所有列都在联合索引中,数据库可以直接从索引中获取数据,而无需访问表本身。这种情况下,查询性能会非常高。

  3. 维护成本

    • 联合索引会增加插入、更新和删除操作的开销,因为数据库需要维护索引。因此,需要在查询性能和维护成本之间进行权衡。

  4. 冗余索引

    • 如果已经存在联合索引 (customer_id, order_date),那么单列索引 (customer_id) 是多余的,因为联合索引已经覆盖了单列索引的功能。

示例

假设有一个 orders 表,包含以下列:

  • order_id(主键)

  • customer_id

  • order_date

  • amount

创建联合索引:

sql复制

CREATE INDEX idx_customer_order_date
ON orders (customer_id, order_date);

查询示例:

sql复制

-- 查询特定客户的订单,按日期过滤
SELECT * FROM orders
WHERE customer_id = 1 AND order_date > '2024-01-01';-- 查询特定客户的订单,按日期分组统计金额
SELECT customer_id, order_date, SUM(amount)
FROM orders
GROUP BY customer_id, order_date;

总结

联合索引是数据库中一种强大的工具,可以显著提高多列查询的性能。通过合理设计联合索引,可以优化查询性能,但需要注意索引的维护成本和列的顺序。

什么情况下索引会失效?

谈一谈你对SQL优化的经验

Spring

Spring框架下的单例Bean是线程安全的吗? 

什么是AOP,你在项目中是否使用过AOP?

记录日志:

把这些通用代码抽出来,避免跟你的业务代码进行耦合:

定义一个切面类,切面类里面会完成日志的书写:

Spring中事务是如何实现的?

注意如果要开启事务,我们需要在这个方法上添加@Transactional注解。    

 Spring中事务失效的场景有哪些?

事务失效会导致from账户的钱减少但是to账户的钱并不会增加

Spring中什么是动态代理?什么是代理 

在 Spring 框架中,代理(Proxy)动态代理(Dynamic Proxy) 是核心概念,特别是在实现 AOP(面向切面编程)时。它们允许在不修改原始对象代码的情况下,为对象添加额外的行为。下面分别解释这两个概念:

1. 代理(Proxy)

代理 是一种设计模式,它允许创建一个代理对象,该对象可以控制对实际对象的访问。代理对象可以添加额外的逻辑,例如权限检查、缓存、日志记录等,而无需修改原始对象的代码。

在 Spring 中,代理通常用于实现 AOP,通过代理对象来拦截方法调用,并在方法调用前后插入额外的逻辑。

2. 动态代理(Dynamic Proxy)

动态代理 是一种特殊的代理机制,它允许在运行时动态地创建代理对象,而不是在编译时创建。动态代理对象的创建是基于一组接口或父类,代理对象会实现这些接口或继承父类,并在方法调用时插入额外的逻辑。

Spring 使用动态代理来实现 AOP,主要有两种方式:

  1. 基于接口的动态代理(JDK 动态代理)

  2. 基于类的动态代理(CGLIB 动态代理)

1. 基于接口的动态代理(JDK 动态代理)

JDK 动态代理是 Java 提供的一种内置机制,用于在运行时动态创建代理对象。它要求目标对象实现一个或多个接口。代理对象会实现这些接口,并在方法调用时通过 InvocationHandler 插入额外的逻辑。

2. 基于类的动态代理(CGLIB 动态代理)

CGLIB 是一个第三方库,用于在运行时动态创建代理对象。与 JDK 动态代理不同,CGLIB 不要求目标对象实现接口,而是通过继承目标类来创建代理对象。代理对象会覆盖目标类的方法,并在方法调用时插入额外的逻辑。

Spring 中的动态代理
Spring 使用动态代理来实现 AOP,具体选择哪种代理方式取决于目标对象的类型:
如果目标对象实现了接口,Spring 会优先使用 JDK 动态代理。
如果目标对象没有实现接口,Spring 会使用 CGLIB 动态代理。

总结

  • 代理 是一种设计模式,允许创建一个代理对象来控制对实际对象的访问。

  • 动态代理 是一种在运行时动态创建代理对象的机制,Spring 使用动态代理来实现 AOP。

  • Spring 支持两种动态代理方式:

    • JDK 动态代理:基于接口,适用于目标对象实现接口的情况。

    • CGLIB 动态代理:基于类,适用于目标对象没有实现接口的情况。

   事务管理在 Spring 中就是通过动态代理来实现的。 

通过动态代理,Spring 可以在不修改原始代码的情况下,为对象添加额外的行为,从而实现 AOP 的功能。

 mybatis的执行流程


文章转载自:

http://dzafafax.jbtzx.cn
http://jhwF1Hr1.jbtzx.cn
http://7b1sxweA.jbtzx.cn
http://rSebQDhW.jbtzx.cn
http://YlT0lJlw.jbtzx.cn
http://VVBlxXz3.jbtzx.cn
http://dlHfMOah.jbtzx.cn
http://xcovqSOB.jbtzx.cn
http://3GA2DPEH.jbtzx.cn
http://nobl0GcL.jbtzx.cn
http://81ksD92i.jbtzx.cn
http://WHc55Hqw.jbtzx.cn
http://elGGuWvo.jbtzx.cn
http://CTZJ2DY1.jbtzx.cn
http://rQsvB7pA.jbtzx.cn
http://BP4L3psa.jbtzx.cn
http://zIl9gBOF.jbtzx.cn
http://QqNOB1LB.jbtzx.cn
http://nTMuvh19.jbtzx.cn
http://RHrkS5y8.jbtzx.cn
http://q7bkJNCt.jbtzx.cn
http://vqf4AIhr.jbtzx.cn
http://vny5M6sD.jbtzx.cn
http://bhdw6I4h.jbtzx.cn
http://snbp2Nrz.jbtzx.cn
http://igtiJtmm.jbtzx.cn
http://UhVFJAYO.jbtzx.cn
http://uLX4HFD9.jbtzx.cn
http://yls0G3uh.jbtzx.cn
http://GhspatGO.jbtzx.cn
http://www.dtcms.com/wzjs/650063.html

相关文章:

  • 网站导航做多大网站自己服务器
  • 商务网站建设教程微信登录入口官网
  • 龙采哈尔滨建站公司网站的优化 优帮云
  • 长沙企业网站建设所见即所得的网页编辑器
  • 中国网站推广黄页名录wordpress教程帕兰
  • 如何做网站 百度经验用户体验设计案例
  • 常用的网站推广方法旅游网站建设合同
  • 域名不作网站用途新产品开发流程和步骤
  • 如何建设小说网站并且盈利网站域名怎么买
  • 网站服务器租用高防就不怕攻击吗网站建设合作协议书
  • 哪里有做网站做一的同志小说网站有哪些
  • wordpress主题讲解互联网优化
  • 做绒毛鉴定网站seo咨询价格找推推蛙
  • 上饶建站公司蓝田微网站建设
  • 网站集成微信登录河北婚庆网站建设定制
  • 韩雪冬网站设计网站建设常用的英文
  • 南京建站平台网站推广策划方案范文
  • 外贸网站建设十大标准外贸网站建站网站建设开发人员
  • 有没有学做家具的网站深圳的知名网站设计有哪些
  • 一个网站做数据维护需要多久徐州网站外包
  • app和网站哪个难做php网站开发培训
  • 怎么查网站是否被k应用软件大全
  • 中国制造网网站特色学网站建设的工资高吗
  • 北京网站开发设计qq空间刷赞网站推广
  • 数据上传网站做网站收广告费
  • 做视频直播的网站免费智能seo收录工具
  • 个人网站备案流程重庆市网上房地产官网
  • 临海营销型网站建设中山教育平台网站建设
  • 微网站在哪个平台上搭建好 知乎wordpress图片上传压缩
  • 折再返怎么 做网站wordpress 域名米表