微服务框架 SpringCloud微服务架构 多级缓存 46 JVM 进程缓存 46.2 导入商品案例【导入Demo工程】

news2024/12/26 0:02:32

微服务框架

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】

多级缓存

文章目录

      • 微服务框架
      • 多级缓存
      • 46 JVM 进程缓存
        • 46.2 导入商品案例【导入Demo工程】
          • 46.2.1 导入商品管理案例demo工程

46 JVM 进程缓存

46.2 导入商品案例【导入Demo工程】

46.2.1 导入商品管理案例demo工程

在这里插入图片描述

就是它 了

先把它 拷贝到我们自己的工作目录

在这里插入图片描述

OK,使用IDEA 进行导入

在这里插入图片描述

直接OK

在这里插入图片描述

OK,导入完成

项目结构:

在这里插入图片描述

其中的业务包括:

  • 分页查询商品
  • 新增商品
  • 修改商品
  • 修改库存
  • 删除商品
  • 根据id查询商品
  • 根据id查询库存

改一下配置,特别是数据库配置信息的IP 地址

在这里插入图片描述

OK

业务全部使用mybatis-plus来实现,如有需要请自行修改业务逻辑。

【分页查询商品】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

【新增商品】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

【修改商品】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

【修改库存】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

【删除商品】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

这里是采用了逻辑删除,将商品状态修改为3

【根据id 查询商品】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

这里只返回了商品信息,不包含库存

【根据id 查询库存】

com.heima.item.web包的ItemController中可以看到接口定义:

在这里插入图片描述

【启动测试一下】

在这里插入图片描述

OK,启动成功

访问接口 http://localhost:8081/item/10001

在这里插入图片描述

OK,查下库存

在这里插入图片描述

OK,没问题

【导入商品查询页面】

商品查询是购物页面,与商品管理的页面是分离的。

部署方式如图:

在这里插入图片描述

我们需要准备一个反向代理的nginx服务器,如上图红框所示,将静态的商品页面放到nginx目录中。

页面需要的数据通过ajax向服务端(nginx业务集群)查询。

【运行Nginx 服务】

这里我已经给大家准备好了nginx反向代理服务器和静态资源。【牛逼!!!!!】

我们找到课前资料的nginx目录:

在这里插入图片描述

将其拷贝到一个非中文目录下,

在这里插入图片描述

运行这个nginx服务。

运行命令:

start nginx.exe

在这里插入图片描述

OK。访问一下

在这里插入图片描述

直接localhost 就是Nginx 的欢迎页面

再访问 http://localhost/item.html?id=10001

在这里插入图片描述

我超,妙啊,这静态页面写得真好

做反向代理配置

现在,页面是假数据展示的。我们需要向服务器发送ajax请求,查询商品数据。

打开控制台,可以看到页面有发起ajax查询数据:

在这里插入图片描述

而这个请求地址同样是80端口,所以被当前的nginx反向代理了。

查看nginx的conf目录下的nginx.conf文件:

在这里插入图片描述

打开它

其中的关键配置如下:

在这里插入图片描述

其中的192.168.150.101是黑马老师的虚拟机IP,也就是Nginx业务集群要部署的地方:

在这里插入图片描述

【改后】完整内容如下:


#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    #tcp_nopush     on;
    keepalive_timeout  65;
	
	# Nginx的业务集群、Nginx本地缓存、redis缓存、Tomcat查询等

    upstream nginx-cluster{
        server 1.13.92.88:8081;
    }
    server {
        listen       80;
        server_name  localhost;

	location /api {
            proxy_pass http://nginx-cluster;
        }

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/95494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你知道吗?Python原来可以做这些

如果你准备开始学习Python或者你已经开始了学习Python,那么,你肯能会问自己: “我用Python究竟能做些什么?” 嗯,这是一个棘手的问题,因为Python有很多应用方向。但随着时间的推移,我发现Pytho…

Java图书管理代码

Java图书管理代码一:简介二:核心需求三: 类的设计1. 创建图书相关的类2. 创建操作相关的类3. 创建用户相关的类4. 进行整合5. 实现具体的每个 Operation大家好,我是晓星航。今天为大家带来的是Java语言图书馆里系统的相关的讲解!&…

【裂缝识别】无人机裂缝图像处理系统(带面板)【含GUI Matlab源码 1727期】

⛄一、简介 1 案例背景 随着国家对公路建设的大力投入,我国的公路通车总里程己经位居世界前列,这样进一步促进了我国经济建设的发展。随着公路的大量投运,公路日常养护和管理已经成为制约公路运营水平提高的瓶颈,特别是路面状态采…

使用QtDesignerForm界面

使用QtDesignerForm界面1. 概述2. UI文件的使用分析2.2 QtDesignerForm 界面的使用3. Demo1. 概述 在进行QT开发创建UI文件通常有两种方式,分别是通过Qt 设计师界面类、Qt Designer Form创建。两者创建的区别如下。 通过Qt 设计师界面类创建的界面通常会包括对应的…

手把手系列:如何将小程序游戏引入自有APP?(iOS篇)

自FinClip 诞生以来,一直有不少开发者询问官方 FinClip 什么时候可以支持微信小游戏?实际上,从去年开始我们就把支持微信小游戏的计划做进了产品的 Roadmap。2022年底,我们终于在新年之前实现了对小游戏的支持! 近期…

中文输入法中光标跟随能力触发的浏览器事件探究

:::tip 最近在着手腾讯文档的输入体验优化,在其中有一个不起眼的小需求引起了我的注意,并顺便研究了一些事件监听机制相结合的特点,特此记录一下填坑过程。 ::: 模拟光标跟随 大部分的主流输入法都有这样一个特性,在输入中文时&…

昆仑天工开源的AIGC

🍿*★,*:.☆欢迎您/$:*.★* 🍿 https://github.com/SkyWorkAIGC/SkyCode 技术优势一 :涵盖多种编程语言 不同的编程语言着重于解决不同平台、环境下的问题,不同的编程语言都有自己存在的理由。奇点智源SkyCode能够生成的代码,不仅包括使用广泛的JavaScript、python、Jav…

(六)springcloud之Nacos集群与持久化配置-3

模块: 1.父工程(管理版本) 2.公共模块:Common-API 3.测试模块:NacosClusterConfigConsumer80 版本: springboot:2.7.6 springcloud:2021.0.5 spring-cloud-alibaba-dependencies:2021.0.1.0 nacos:2.1.2 ng…

RCFSNet

搬来了一种结合道路上下文信息与多尺度特征的道路遥感图像道路提取方法,与常见的道路提取算法相比,RCFSNet能够获取完整的路网标签,在遮挡场景中表现出色 本人是太原理工大学大数据学院在2022年发表在《IEEE Geoscience and remote sensing …

SpringBoot网站开发常用工具类(自己写的适合入门)

目录 字符集转换工具 适用 代码 JWT工具类 适用 代码 七牛云文件上传工具类 适用 代码 文件类型转换工具类 适用 代码 session,cookie工具类 适用 代码 字符集转换工具 适用 主要是完成与前端配合,共同实现特殊字符串传输过程中被转译的问…

数字藏品系统应用场景介绍——元宇宙NFG

数字藏品系统应用场景: 1.虚实结合产品营销:品牌企业限量发行产品,比如限量珍藏版产品,茅台酒,耐克鞋,劳力士手表,爱马仕包包,钻石珠宝,结合元宇宙热点营销,…

Crane 发布国内首个云原生应用碳排放计算优化器

为了共同应对气候变化挑战,减缓全球变暖趋势,2015年12月,近200个缔约方共同通过了《巴黎协定》(The Paris Agreement),对2020年后全球如何应对气候变化做出了行动安排。为实现这一目标,全球多个…

我国液化石油气行业SWOT分析:产销规模持续上涨 供需缺口劣势明显

液化石油气是在炼油厂内,由天然气或者石油进行加压降温液化所得到的一种无色挥发性液体,它极易自燃,当其在空气中的含量达到了一定的浓度范围后,它遇到明火就能爆炸。 一、优势分析 根据观研报告网发布的《中国液化石油气市场发展深度分析与…

【Unity】UI ToolKit 学习记录

Unity推出的这个 UI ToolKit,据说是要用来替代UGUI。既然这么有野心,那肯定要搞来看一看。这次使用目标就是用这个 UI ToolKit 生成一堆类似HUD的头标,然后看看使用难易程度和性能如何。 本文对应Unity版本 :2020.3.41f1c1 1、安装…

四十六——五十一

四十六、JavaScript——对象 一、对象 数据类型:原始值: 1. 数值 Number 2. 大整数 BigInt 3. 字符串 String 4. 布尔值 Boolean 5. 空值 Null 6. 未定义 Undefinded 7. 符号 Symbol 除了七种原始值之外,后面所用到的数据类型,都…

吐槽嫌弃测试周期太长?开发自测一下

互联网产品竞争激烈,在生存的巨大压力之下,策划和运营人员们恨不得每一个需求都能秒级上线,这就给研发团队带来了巨大的压力。 有时候,产品的老大很关注某一个功能点,希望能尽快上线,可是,他发…

基于nodejs电影售票后台管理的设计和实现.zip(论文+源码+ppt文档+视频录制)

相关资料下载地址:请点击下载》》》 一、 项目介绍 5 二、 需求分析 6 1、 前端需求 6 2、 后端需求 6 3、 开发环境 7 三、 技术介绍 7 1、 Vue 7 2、 ElementUI 7 3、 NodeJS 7 4、 MySQL 8 四、 功能实现 8 1、 前端服务构建 8 2、 前端API接口封装 8 3、 前端路…

技术分享 | 掌握高频 Docker 命令,夯实内功基础

本文为霍格沃兹测试学院学院学员 Docker 实战课程学习笔记,供各位同学参考。 在 Dokcer 横空出世之前,应用打包一直是大部分研发团队的痛点。在工作中,面对多种服务,多个服务器,以及多种环境,如果还继续用传…

我的头条四面:测试工程师调岗测试开发工程师,发生了什么?

早就听说头条是算法大厂手撕代码恐怖如斯,进入玻璃房之前做好了心理准备,本次头条面试总共是四面,一二三技术面HR面,总体感觉也还不错,面试的是测试工程师,最后拿到的offer却是测试开发工程师,从…

Mysql主从同步时Slave_SQL_Running状态为Yes , 但是Slave_IO_Running状态为Connecting以及NO的情况故障排除

1. 环境说明 主机IP : 192.168.154.146 从机1IP : 192.168.154.147 从机2IP : 192.168.154.148 2.故障记录 当使用Navicat工具打开这三个数据库时 , 发现主库和从库的数据不同 3.排查过程-(Slave_IO_Running状态为Connecting) 3.1 网络是否互通 互ping三台机器 , 看机器…