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

云南云南住房和城乡建设厅网站创建网站平台

云南云南住房和城乡建设厅网站,创建网站平台,网站建立公司 优帮云,网站电脑端和手机端基于SpringBoot的外卖项目的优化1、缓存优化1.1、缓存短信验证码问题分析代码改造1.2、缓存菜品数据实现思路1.3、Spring Cache介绍常用注解CachePutCacheEvictCacheable使用方式1.4、缓存套餐数据实现思路代码改造2、读写分离2.1、主从复制存在的问题介绍配置配置主库--master…

基于SpringBoot的外卖项目的优化

  • 1、缓存优化
    • 1.1、缓存短信验证码
      • 问题分析
      • 代码改造
    • 1.2、缓存菜品数据
      • 实现思路
    • 1.3、Spring Cache
      • 介绍
      • 常用注解
        • @CachePut
        • @CacheEvict
        • @Cacheable
      • 使用方式
    • 1.4、缓存套餐数据
      • 实现思路
      • 代码改造
  • 2、读写分离
    • 2.1、主从复制
      • 存在的问题
      • 介绍
      • 配置
        • 配置主库--master
        • 配置从库--slave
    • 2.2、读写分离
      • 背景
      • Sharding-JDBC介绍
      • 案例
    • 2.3、项目中实现读写分离
      • 数据库环境准备
  • 3、Nginx
    • 3.1、概述
      • 介绍
      • 下载和安装
      • 目录结构
    • 3.2、命令
    • 3.3、配置文件的结构
    • 3.4、具体应用
      • 部署静态资源
      • 反向代理
        • 介绍
        • 配置
      • 负载均衡
        • 介绍
        • 配置
        • 负载均衡策略
  • 4、前后端分离
    • 问题
    • 4.1、前后端分离开发
      • 介绍
      • 开发流程
      • 前端技术栈
    • 4.2、YApi/FastApi/Apifox
      • 介绍
      • 使用
    • 4.3、Swagger
      • 介绍
      • 使用
      • 常用注解
    • 4.4、项目部署
      • 部署架构
      • 部署环境说明

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟
更多学习内容, 欢迎关注我的个人公众号:不懂开发的程序猿

友情链接:
基于SpringBoot的外卖项目(详细开发过程)

1、缓存优化

1.1、缓存短信验证码

问题分析

在这里插入图片描述

代码改造

pom.xml

<!--开启 redis 缓存-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

application.yml

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1.2、缓存菜品数据

实现思路

在这里插入图片描述

把所有的菜品数据缓存到redis中

在这里插入图片描述

在这里插入图片描述

如果菜品数据发生了更新和添加操作,就需要清理下redis缓存

在这里插入图片描述

在这里插入图片描述

1.3、Spring Cache

介绍

在这里插入图片描述

常用注解

在这里插入图片描述

默认的缓存技术底层是基于map来缓存数据,因此服务停止后,缓存数据就消失了

但是如果采用RedisCache作为缓存,就不会存在这个问题

@CachePut

在这里插入图片描述

@CacheEvict

在这里插入图片描述

在这里插入图片描述

@Cacheable

在这里插入图片描述

在这里插入图片描述

使用方式

在这里插入图片描述

1.4、缓存套餐数据

实现思路

在这里插入图片描述

代码改造

pom.xml

<!--开启 cache 缓存-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId>
</dependency>

application.yml

在这里插入图片描述

在启动类上开启缓存注解@EnableCaching

在这里插入图片描述

在SetmealController的list方法上加入@Cacheable注解:

在这里插入图片描述

通用返回类R需要实现Serializable序列化接口

在这里插入图片描述

用Redis图形化桌面工具也可以看到缓存中有套餐数据

在这里插入图片描述

新增套餐和删除套餐也类似都需要加入@CacheEvict注解

在这里插入图片描述

在这里插入图片描述

2、读写分离

2.1、主从复制

存在的问题

在这里插入图片描述

在这里插入图片描述

介绍

在这里插入图片描述

配置

在这里插入图片描述

配置主库–master

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置从库–slave

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.2、读写分离

背景

在这里插入图片描述

Sharding-JDBC介绍

在这里插入图片描述

案例

在这里插入图片描述

pom

<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1</version>
</dependency>

配置数据源

server:port: 8080
mybatis-plus:configuration:#在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射map-underscore-to-camel-case: truelog-impl: org.apache.ibatis.logging.stdout.StdOutImplglobal-config:db-config:id-type: ASSIGN_ID
spring:shardingsphere:datasource:names:master,slave# 主数据源master:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.138.100:3306/rw?characterEncoding=utf-8username: rootpassword: root# 从数据源slave:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://192.168.138.101:3306/rw?characterEncoding=utf-8username: rootpassword: rootmasterslave:# 读写分离配置load-balance-algorithm-type: round_robin #轮询# 最终的数据源名称name: dataSource# 主库数据源名称master-data-source-name: master# 从库数据源名称列表,多个逗号分隔slave-data-source-names: slaveprops:sql:show: true #开启SQL显示,默认falsemain:allow-bean-definition-overriding: true

2.3、项目中实现读写分离

数据库环境准备

在这里插入图片描述

在这里插入图片描述

跟上面的案例一样,准备好主从两个数据库、导pom、修改配置文件

3、Nginx

3.1、概述

介绍

在这里插入图片描述

下载和安装

在这里插入图片描述

在这里插入图片描述

目录结构

在这里插入图片描述

在这里插入图片描述

3.2、命令

查看版本

cd /usr/local/nginx/sbin
./nginx -v

在这里插入图片描述

检查配置文件的正确性

cd /usr/local/nginx/sbin
./nginx -t

在这里插入图片描述

启动和停止

简单启动:

cd /usr/local/nginx/sbin
./nginx

复杂启动:

cd /usr/local/nginx/sbin
./nginx -c /usr/local/nginx/conf/nginx.conf

查看进程:

ps -ef | grep nginx

停止:

cd /usr/local/nginx/sbin
./nginx -s quit

cd /usr/local/nginx/sbin
./nginx -s stop

重新加载配置文件

cd /usr/local/nginx/sbin
./nginx -s reload
systemctl status nginx

3.3、配置文件的结构

在这里插入图片描述

3.4、具体应用

部署静态资源

在这里插入图片描述

反向代理

介绍

在这里插入图片描述

在这里插入图片描述

配置

在这里插入图片描述

负载均衡

介绍

在这里插入图片描述

配置

在这里插入图片描述

负载均衡策略

在这里插入图片描述

4、前后端分离

问题

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvB6CWsL-1677236950620)(E:/typora/image-20230224124113816.png)]

4.1、前后端分离开发

介绍

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开发流程

在这里插入图片描述

前端技术栈

在这里插入图片描述

4.2、YApi/FastApi/Apifox

介绍

在这里插入图片描述

使用

4.3、Swagger

介绍

在这里插入图片描述

使用

在这里插入图片描述

pom

        <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>

在这里插入图片描述

    @Beanpublic Docket createRestApi() {// 文档类型return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.itheima.reggie.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title("瑞吉外卖").version("1.0").description("瑞吉外卖接口文档").build();}

WebMvcConfig

在这里插入图片描述

LoginCheckFilter

在这里插入图片描述

启动项目

进入网址:www.localhost:8080/doc.html 就会生成对应的接口文档

在这里插入图片描述

常用注解

在这里插入图片描述

将这些注解加在对应的类上,属性上,生成的doc文档就含有中文解释

在这里插入图片描述

4.4、项目部署

部署架构

在这里插入图片描述

部署环境说明

在这里插入图片描述

–end–

http://www.zhongyajixie.com/news/46467.html

相关文章:

  • 免费学做淘宝的网站活动策划
  • 年前做招聘网站话术艾滋病多久能检查出来
  • 网站空间租赁运营推广的方式和渠道有哪些
  • 环保公司网站模板河南品牌网络推广外包
  • vue可以做pc端网站吗杭州最好的电商培训机构
  • 网站建设_免费视频百度网站下拉排名
  • 网站建设做网站多少钱长沙网站推广排名优化
  • 如何做静态页网站新网站快速收录
  • 赣州建设信息网山西seo排名
  • 天津网站建设诺亚网销怎么销售的
  • 购物网站开发系统测试优秀软文范例800字
  • 网站建设需要会专业地推团队
  • 需要企业网站建设泉州关键词优化报价
  • 网站制作公司员工做网站设计哪里有
  • 做企业网站和邮箱seo多久可以学会
  • mac 网站开发app网站推广平台
  • 建设网站要什么制作企业网站的公司
  • 有哪些企业会找人做网站建设关键词搜索网站
  • 展厅展馆设计公司简介百度seo关键词排名 s
  • 一个网站源代码概多大如何查看百度指数
  • 公司自己做网站流程和备案360营销推广
  • 备案号 网站 独立站长工具seo综合查询官网
  • 网盘做网站服务器淘宝搜索词排名查询
  • 有没有什么做水利资料的网站网络推广优化网站
  • 网站制作的销售对象下载百度2023最新版安装
  • 做网站的公司属于什么行业男生和女生在一起探讨人生软件
  • 哪个网站做婚礼邀请函好如何进行搜索引擎营销
  • 有什么比较好的做海报网站网络运营培训哪里有学校
  • 销售网站开发论文展望重庆seo俱乐部
  • 网站建设违约新开店铺怎么做推广