SpringBoot 阶段测试 1( 四 )

14、简述下redis 中 setnx命令的效果或作用?redis 中 setnx命令的效果或作用: 只有key不存在的情况下,设置key的值,如key存在,则什么也不做 。设置成功返回1,失败返回0;redis setnx java_Redis SETNX 命令: https://blog.csdn.net/weixin_39517289/article/details/11446856215、介绍下你用redis做过的一些业务,以及为什么你用redis 做 。用redis做过的一些业务: 缓存 数据共享分布式 分布式锁 全局ID 计数器 限流 位统计 购物车 用户消息时间线timeline 消息队列 抽奖 点赞 签到 打卡 商品标签 商品筛选 用户关注 推荐模型 排行榜Redis 16 个常见的使用场景: https://blog.csdn.net/gp_911014/article/details/12474486916.事务隔离级别有哪些?MySQL的默认隔离级别是?事务隔离级别有哪些: 读未提交 读已提交 可重复读 可串行化MySQL的默认隔离级别是: 可重复读脏读、幻读和不可重复读:https://blog.csdn.net/qq_41776884/article/details/81608777 脏读: 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据 。不可重复读: 是指在一个事务内,多次读同一数据 。在这个事务还没有结束时,另外一个事务也访问该同一数据 。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的 。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不可重复读 。幻读: 是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行 。同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据 。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样. 提醒: 脏读:一个事务读取到另外一个事务没有提交的修改数据 不可重复读的重点是修改:同样的条件,你读取过的数据,再次读取出来发现值不一样了 幻读的重点在于新增或者删除:同样的条件,第 1 次和第 2 次读出来的记录数不一样隔离级别脏读不可重复读幻读READ-UNCOMMITTED√√√READ-COMMITTED×√√REPEATABLE-READ××√SERIALIZABLE×××17、为什么要使用统一返回类?为什么要使用统一返回类: 统一返回值类型是接口开发中的一种良好的开发习惯(企业级开发基本都有),统一接口返回值的目的是为了加快开发速率以及形成团队良好的代码规范18、什么叫物理删除什么叫逻辑删除,分别适用于哪些场景?物理删除: 物理删除是真正物理地址上的删除,是将数据从数据库中移除的操作,也就是删除的一般意义 。数据被物理删除后在数据库中就不在存在了,是无法(难以)被恢复的 。逻辑删除: 逻辑删除不是真正意义上的删除,而是逻辑意义上的删除 。通常的实现方式是在数据表中添加一个字段,比如deleted(是否删除,0未删除,1已删除) 。数据被逻辑删除后在数据库中依然是存在的,是可以(容易)被恢复的 。适用于哪些场景:物理删除的场景: 数据不再有实际的意义 。逻辑删除的场景: 数据的失效属于状态的改变,比如订单作废,用户禁用,员工离职,文稿废弃,优惠券作废,商品下架等 。小知识【1】逻辑删除和物理删除的区别: https://blog.csdn.net/qq_39288456/article/details/8478698019、为什么要使用swagger?为什么要使用swagger: 随着sprnigboot、springcloud等微服务的流行,在微服务的设计下,小公司微服务小的几十,大公司大的几百上万的微服务 。这么多的微服务必定产生了大量的接口调用 。而接口的调用就必定要写接口文档 。在微服务的盛行下,成千上万的接口文档编写,不可能靠人力来编写,故swagger就产生了,它采用自动化实现并解决了人力编写接口文档的问题;Swagger 提供了一个全新的维护 API 文档的方式,有4大优点: 1.自动生成文档:只需要少量的注解,Swagger 就可以根据代码自动生成 API 文档,很好的保证了文档的时效性 。2.跨语言性,支持 40 多种语言 。3.Swagger UI 呈现出来的是一份可交互式的 API 文档,我们可以直接在文档页面尝试 API 的调用,省去了准备复杂的调用参数的过程 。4.还可以将文档规范导入相关的工具(例如 SoapUI), 这些工具将会为我们自动地创建自动化测试 。

经验总结扩展阅读