YangeIT大约 19 分钟tlias智能学习辅助系统MysqlApifoxServletHTTPGETPOST

3 拓展-上线项目 额外拓展

3.1 Sealos云操作系统介绍

Sealos云操作系统介绍

image
image

Sealos DevBox 是一个一站式云开发平台,将在线开发、测试和生产环境完美集成。只需一键点击,即可快速创建所需的开发环境和数据库依赖。开发者可以使用熟悉的本地 IDE(如 VSCode、Cursor、JetBrains 等)进行开发,同时享受简化的环境配置和自动化的应用部署体验。平台支持所有主流编程语言和框架,包括 Node.js、Python、Java、Go、PHP、Ruby 等,以及各类前端框架如 React、Vue、Angular 等。

Sealos官网open in new window

代码操作

1.登录页面

image
image

2.输入手机号进行登录

点击进入Sealos登录页open in new window 👈

3.登录成功后的页面情况image

4.新手福利image

新手完成任务,可以获得赠送金额,完成本次开发够了

总结

课堂作业

  1. 为什么要使用Sealos云操作系统?有什么好处?🎤
  2. Sealos云操作系统常用有哪些功能?🎤
  3. Sealos云操作系统是免费的吗?🎤

3.2 上线项目

上线项目

通过ssh连接远程服务器,将项目部署到远程服务器上,通过微信小程序公网访问项目,实现手机访问

本次采用的服务器是云服务器,云服务器提供商是sealos image

点击进入Sealos登录页open in new window 👈

代码操作

在sealos中创建数据库,并使用Navicat导入数据

1. 在sealos中创建yangeitdb数据库image

2. 打开外网访问,支持外网访问image

  1. 链接Navicat,输入数据库链接信息,测试连接是否成功。Navicat图标

Navicat是一款数据库管理工具,可以连接MySQL、Oracle、SQL Server等数据库,方便用户进行数据库操作。自行下载安装,百度搜索即可。

image
image
  1. 操作Navicat,执行sql语句,观察表和数据是否ok
Navicat界面说明
Navicat界面说明

3.插入操作:👇 image

4.数据插入成功:👇 image

记录外网或者内网地址:稍后要在springboot的yml配置文件中使用 👈

1.Redis

1.1 什么是 Redis

前言

🎯1. 什么是Redis? 👇

Redis 是一个基于内存的 key-value 结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」。

image-20210927090555559
image-20210927090555559
image-20210927090604994
image-20210927090604994
image-20210927090612540
image-20210927090612540

🎯2. 使用 Redis 能做什么 👇

  • 数据缓存
  • 消息队列
  • 注册中心
  • 发布订阅
  • 向量存储

🎯3. Redis性能高吗?为什么高?有多高? 👇

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. 翻译为:Redis 是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。

官网:https://redis.ioopen in new window

Redis 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库,官方提供的数据是可以达到 100000+的 QPS(每秒内查询次数)。它存储的 value 类型比较丰富,也被称为结构化的 NoSql 数据库。

NoSql(Not Only SQL),不仅仅是 SQL,泛指非关系型数据库。NoSql 数据库并不是要取代关系型数据库,而是关系型数据库的补充。

关系型数据库(RDBMS): 👇

  • Mysql
  • Oracle
  • DB2
  • SQLServer

非关系型数据库(NoSql):👇

  • Redis
  • Mongo db
  • MemCached

🎯4. Redis安装? 👇

linux和 windows 都可以安装,但是一般企业中都是安装在 linux 服务器上。

Linux下安装的版本: image

实训为了好演示,我们使用 windows 版本,如下 👇

image
image

🎯5. Redis配置信息? 👇

  • Linux 系统中 Redis 配置文件:REDIS_HOME/redis.conf
  • Windows 系统中 Redis 配置文件:REDIS_HOME/redis.windows.conf 👇
image
image

其中主要的配置信息如下:

🎯6. 怎么操作Redis数据库尼? 👇

  1. 使用cmd命令操作
redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456
其中:
-h:指定主机地址
-p:指定端口号
-a:指定密码(没有就不写)



操作图解
操作图解
存取操作
存取操作
  1. 使用可视化工具操作,有官方的,也有三方的,这里使用Idea的免费插件RedisHelper,如下:
安装插件
安装插件
连接redis教程
连接redis教程
操作图解2
操作图解2

3. 还可以使用编程语言进行操作,后面讲解

2.2 Redis 数据类型

前言

  1. Redis常用的有哪几种数据类型?

Redis 存储的是 key-value 结构的数据,其中 key 是字符串类型,value 有 5 种常用的数据类型:

5种常用的数据类型

  1. 字符串(string):普通字符串,常用
  2. 哈希(hash):适合存储对象
  3. 列表(list):按照插入顺序排序,可以有重复元素
  4. 集合(set):无序集合,没有重复元素
  5. 有序集合(sorted set / zset):集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素

2.3 Redis数据类型实操演示

Redis数据类型实操演示

代码操作

Redis 中字符串类型常用命令:

  • SET key value 设置指定 key 的值
  • GET key 获取指定 key 的值
  • SETEX key seconds value 设置指定 key 的值,并将 key 的过期时间设为 seconds 秒
  • SETNX key value 只有在 key 不存在时设置 key 的值

更多命令可以参考 Redis 中文网:https://www.redis.net.cnopen in new window

练习指令 ✏️ 🍐

# 存入一个字符串
set name xiaoming
# 获取name
get name

# 存入一个age 
set age 20 
set age 30
# 获得age  
get age  #30 覆盖了

# 练习 SETEX key seconds value 设置指定 key 的值,并将 key 的过期时间设为 seconds 秒
# 设置存10s 
setex city 10 beijing

# 等待10秒
get city #返回nil --->空

# 练习SETNX key value 只有在 key 不存在时设置 key 的值
setnx bookname haha 

setnx bookname heihei

get bookname # 返回haha

## 注意不要传中文,返回类似这种
"\xe5\x87\xa1\xe4\xba\xba\xe4\xbf\xae\xe4\xbb\x99\xe8\xae\xb0"
# 在redis 中存储中文,默认读取不到中文,而是以十六进制的方式储存

也可用RedisHelper插件进行操作,如下: image

2.4 SpringBoot 整合 Redis

SpringCache和Redis操作

前面我们已经实现了移动端房型查看功能,且放在首页,因此会被用户频繁访问,进而对数据库查询操作。在高并发 的情况下,频繁查询数据库会导致系统性能下降 ,服务端响应时间增长。现在需要对此方法进行缓存优化,提高系统的性能。(如下图)

image
image

代码操作

由于 SpringCache 的基本功能是 Spring 核心(spring-context)中提供的,所以目前我们进行简单的 SpringCache 测试,是可以不用额外引入其他依赖的。 可以检查是否导入了下列依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>

1). 引导类上加@EnableCaching

在引导类上加该注解,就代表当前项目开启缓存注解功能。

image
image

2.5 其他模块缓存优化

其他模块缓存优化

大家可以根据上述的缓存优化,对其他模块进行缓存优化,比如:服务列表模块等