05 2022 档案

摘要:1. 代码生成器原理分析 1.1 造句: 我们可以往空白内容进行填词造句,比如: 在比如: 再有: 1.2 观察我们之前写的代码,会发现其中也会有很多重复内容,比如: 那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如: 所以我们会发现,做任何模块的 阅读全文
posted @ 2022-05-17 18:25 yub4by 阅读(39) 评论(0) 推荐(0) 编辑
摘要:3. 逻辑删除 3.1 需求 这是一个员工和其所签的合同表,关系是一个员工可以签多个合同,是一个一(员工)对多(合同)的表 员工ID为1的张业绩,总共签了三个合同,如果此时他离职了,我们需要将员工表中的数据进行删除,会执行delete操作 如果表在设计的时候有主外键关系,那么同时也得将合同表中的前三 阅读全文
posted @ 2022-05-17 16:17 yub4by 阅读(19) 评论(0) 推荐(0) 编辑
摘要:1. id生成策略控制 1.1 @TableId 前面我们在新增的时候留了一个问题,就是新增成功后,主键ID是一个很长串的内容,我们更想要的是按照数据库表字段进行自增长,在解决这个问题之前,我们先来分析下ID该如何选择: 不同的表应用不同的id生成策略 日志:自增(1,2,3,4,……) 购物订单: 阅读全文
posted @ 2022-05-16 12:07 yub4by 阅读(30) 评论(0) 推荐(0) 编辑
摘要:1. 条件查询 1.1 条件查询的类 MyBatisPlus将书写复杂的SQL查询条件进行了封装,使用编程的形式完成查询条件的组合。 这个我们在前面都有见过,比如查询所有和分页查询的时候,都有看到过一个Wrapper类,这个类就是用来构建查询条件的,如下图所示: 那么条件查询如何使用Wrapper来 阅读全文
posted @ 2022-05-16 12:06 yub4by 阅读(105) 评论(0) 推荐(0) 编辑
摘要:1. 标准CRUD使用 2. 新增 @Test public void testSave() { User user = new User(); user.setName("黑马程序员"); user.setPassword("itheima"); user.setAge(12); user.set 阅读全文
posted @ 2022-05-15 14:49 yub4by 阅读(55) 评论(0) 推荐(0) 编辑
摘要:1. 简介 MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率 通过刚才的案例,相信大家能够体会简化开发和提高效率这两个方面的优点。 MyBatisPlus的官网为:https://mp.baomidou.com/ 从这张图中我们可以看出MP旨在 阅读全文
posted @ 2022-05-15 13:38 yub4by 阅读(36) 评论(0) 推荐(0) 编辑
摘要:1. 集群分类 RabbitMQ的是基于Erlang语言编写,而Erlang又是一个面向并发的语言,天然支持集群模式。RabbitMQ的集群有两种模式: 普通集群:是一种分布式集群,将队列分散到集群的各个节点,从而提高整个集群的并发能力。 普通模式集群不进行数据同步,每个MQ都有自己的队列、数据信息 阅读全文
posted @ 2022-05-10 20:30 yub4by 阅读(66) 评论(0) 推荐(0) 编辑
摘要:1. 消息堆积问题 当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。之后发送的消息就会成为死信,可能会被丢弃,这就是消息堆积问题。 解决消息堆积有3种思路: 从消费者角度 增加更多消费者,提高消费速度。也就是我们之前说的work queue模式 阅读全文
posted @ 2022-05-10 13:34 yub4by 阅读(22) 评论(0) 推荐(0) 编辑
摘要:1. 初识死信交换机 1.1 什么是死信交换机 当一个队列中的消息满足下列情况之一时,可以成为死信(dead letter): 消费者使用basic.reject或 basic.nack声明消费失败,并且消息的requeue参数设置为false 消息是一个过期消息,超时无人消费 要投递的队列消息满了 阅读全文
posted @ 2022-05-09 22:37 yub4by 阅读(91) 评论(0) 推荐(0) 编辑
摘要:HM-SpringCloud微服务系列12:服务异步通信RabbitMQ-高级篇 回顾一下MQ的消息发送流程:消息msg从生产者publisher发送到交换机exchange,再到队列queue,最后到消费者consumer 其中的每一步都可能导致消息丢失,常见的丢失原因包括: 发送时丢失: 生产者 阅读全文
posted @ 2022-05-09 20:07 yub4by 阅读(52) 评论(0) 推荐(0) 编辑
摘要:大多数情况下,浏览器查询到的都是缓存数据,如果缓存数据与数据库数据存在较大差异,可能会产生比较严重的后果。 所以我们必须保证数据库数据、缓存数据的一致性,这就是缓存与数据库的同步。 1. 数据同步策略 1.1 缓存数据同步常见方式 缓存数据同步的常见方式有三种: 设置有效期:给缓存设置有效期,到期后 阅读全文
posted @ 2022-05-06 17:36 yub4by 阅读(58) 评论(0) 推荐(0) 编辑
摘要:7. Nginx本地缓存 现在,整个多级缓存中只差最后一环,也就是nginx的本地缓存了。如图: 7.1 本地缓存API OpenResty为Nginx提供了shard dict的功能,可以在nginx的多个worker之间共享数据,实现缓存功能。 7.1.1 开启共享字典 在nginx.conf的 阅读全文
posted @ 2022-05-05 20:46 yub4by 阅读(36) 评论(0) 推荐(0) 编辑
摘要:6. 查询Redis缓存 现在,Redis缓存已经准备就绪,我们可以再OpenResty中实现查询Redis的逻辑了。如下图红框所示: 当请求进入OpenResty之后: 优先查询Redis缓存 如果Redis缓存未命中,再查询Tomcat 6.1 封装Redis工具 OpenResty提供了操作R 阅读全文
posted @ 2022-05-05 20:43 yub4by 阅读(35) 评论(0) 推荐(0) 编辑
摘要:5. Redis缓存预热 5.1 添加redis缓存的需求 5.2 冷启动与缓存预热 Redis缓存会面临冷启动问题: 冷启动:服务刚刚启动时,Redis中并没有缓存,如果所有商品数据都在第一次查询时添加缓存,可能会给数据库带来较大压力。 缓存预热:在实际开发中,我们可以利用大数据统计用户访问的热点 阅读全文
posted @ 2022-05-05 20:38 yub4by 阅读(25) 评论(0) 推荐(0) 编辑
摘要:4. 查询Tomcat[案例] 拿到商品ID后,本应去缓存中查询商品信息,不过目前我们还未建立nginx、redis缓存。因此,这里我们先根据商品id去tomcat查询商品信息。我们实现如图红框部分: 需要注意的是,我们的OpenResty是在虚拟机,Tomcat是在Windows电脑上。两者IP一 阅读全文
posted @ 2022-05-03 21:45 yub4by 阅读(31) 评论(0) 推荐(0) 编辑
摘要:1. 安装 注意:因为需要在线下载依赖库,所以Linux虚拟机必须联上互联网 1.1 安装开发库 首先要安装OpenResty的依赖开发库,执行命令: yum install -y pcre-devel openssl-devel gcc --skip-broken 1.2 安装OpenResty仓 阅读全文
posted @ 2022-05-03 21:43 yub4by 阅读(31) 评论(0) 推荐(0) 编辑
摘要:1. 安装OpenResty 1.1 OpenResty介绍 OpenResty® 是一个基于 Nginx的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。具备下列特点: 具备Nginx的完整功能 基于Lua语言进行扩展,集成了大量精良的 阅读全文
posted @ 2022-05-03 21:43 yub4by 阅读(59) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2022-05-02 13:49 yub4by 阅读(4) 评论(0) 推荐(0) 编辑
摘要:1. 初识Lua 1.1 what is Lua? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/ Lua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插 阅读全文
posted @ 2022-05-01 18:41 yub4by 阅读(25) 评论(0) 推荐(0) 编辑
摘要:启动docker服务:systemctl start docker 2.1 导入商品管理案例 2.1.1 安装MySQL 后期做数据同步需要用到MySQL的主从功能,所以需要大家在虚拟机中,利用Docker来运行一个MySQL容器(新的,防止与其他环境干扰)。 CentOS虚拟机Docker安装My 阅读全文
posted @ 2022-05-01 10:14 yub4by 阅读(44) 评论(0) 推荐(0) 编辑
摘要:HM-SpringCloud微服务系列11:多级缓存-高级篇 1. 什么是多级缓存 多级缓存是亿级流量的缓存方案 浏览器访问静态资源时,优先读取浏览器本地缓存 访问非静态资源(ajax查询数据)时,访问服务端 请求到达Nginx后,优先读取Nginx本地缓存 如果Nginx本地缓存未命中,则去直接查 阅读全文
posted @ 2022-05-01 10:06 yub4by 阅读(67) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示