软件测试之redis、nginx 在项目中的应用

redis

非关系型数据库,一般在linux上使用。(和mysql一样)
特点
1.作为非关系数据库,没有表
2.键值对的结构存在 key-value
3.redis中数据是存储在内存中的,通过命令设置密码,重启redis密码会消失。因为redis关闭时,内存会释放。为了避免数据释放,redis把数据保存在文件中,在启动时,打开文件进行加载,正常数据不会出问题,密码不在文件中保存,密码会消失,数据没问题。
4. 因为数据在内存中,所以redis读取数据速度是mysql的上万倍
5. redis一般用于关系型数据库的辅助工作,可以把经常查询的数据从mysql中查询出来,放到redis中,用户查询直接去redis中查,软件查询速度加快。
6. redis一般都作为一个临时的中转站来用
在这里插入图片描述

redis的数据类型

储存的数据格式的类型
1.字符串/string
2.哈希/hash
3.列表/list
4.集合/set
5.有序集合/zset
在这里插入图片描述

redis的操作

  • 安装:yum install redis

  • 卸载:yum remove redis

  • 管理:
    systemctl start redis 启动
    systemctl stop redis 停止
    systemctl status redis 查看状态
    systemctl restart redis 重新开始在这里插入图片描述

  • 连接:没有密码,是在连接成功后输入
    redis-cli
    –raw 解决乱码
    -h ip默认:127.0.0.1
    -p 端口默认:6379
    exit 断开连接

  • 设置密码:config set requirepass 密码
    填写密码: auth 密码在这里插入图片描述

  • 数据的操作:

    • 字符串
      • 增 :set key value (set 张三 年龄23)
      • 删:del key(del 张三)
      • 改:set key value (改和增命令一样,有就改,无就增)
      • 查:get key (get 张三)
        keys * :列出所有的key
        在这里插入图片描述在这里插入图片描述
    • 哈希
      • 增 :hset key field value (set zhangsan age 23)
      • 删: hdel key field(hdel zahngsan name )
        del key (del zhangsan)(通用)
      • 改:hset key field value (改和增命令一样,有就改,无就增)
      • 查:hget key field (hget zhangsan name)
        hgetall key (hget zhangsan)
        keys * :列出所有的key 在这里插入图片描述

redis的设置

vi /etc/redis.conf 编辑配置文件
bind:限制redis只能在哪里连接,作用和mysql的帐号主机作用一样
requirepass:redis的密码,重启不会消失
port:端口号
dbfilename:redis中的数据保存的文件名字
dir:dbfilename所在的文件夹

redis如何进行远程连接

1.需要知道对方redis端口号和密码
2.进入redis,端口号+密码
在这里插入图片描述在这里插入图片描述

nginx

nginx 服务器软件

特点:
1.nginx只能运行前端的代码
2.默认使用的端口号80
3.除了普通的动态网站,还可以作为代理服务器

作用:
1.静态HTTP服务器:Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。如下: 添加一个项目到nginx
2.反向代理服务器:客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。proxy_pass

安装:yum install nginx
卸载:yum remove nginx
启动管理:
systemctl start nginx 启动
systemctl stop nginx 停止
systemctl status nginx查看状态
systemctl restart nginx 重新启动

配置文件:路径:/etc/nginx/nginx.conf 一个server就是一个项目
在这里插入图片描述
在这里插入图片描述
server:
listen:监听的端口号,我们项目的端口(不也能重复了)
server_name :项目访问的名字,可以使用域名,也可以直接用ip,或者_
root:项目所在的路径
index:默认访问项目的路径里面的哪个文件;如果不写,默认index.html
location:代理 转发规则 proxy_pass

添加一个项目到nginx

1.启动nginx:systemctl start nginx
2.进入配置文件vi /etc/nginx/nginx.conf(按键盘insert按钮进行编辑,esc退出编辑,:wq保存并推出,:q!不保存退出。)
3.加入一个server(复制代码),修改listen、root(新建文件),保存并推出:wq,重新启动nginx(systemctl restart nginx)
4.将项目移动到root中,在云服务器中添加端口号listen
5.浏览器进行访问
在这里插入图片描述
在这里插入图片描述

jdk串知识

前后端分离项目搭建

  • nginx:前端服务器软件,用来验证前端登录传的token是否正确,每次登陆都会生成新的token。
  • token:中文叫令牌,是后端生成的,用来检查用户是否登陆的一个凭证,登陆成功才能生成token。用户有没有登陆,就看用户有没有正确的token。每次登陆都会生成新的token,会过期。token就是一串随机的字符串。比如:jfih5efiKe2Hv4xzlv5Ev1nx9knNn
    • 理解:账号密码相当于进演唱会的时候要出示的购票二维码 token相当于进场时工作人员给你胳膊上盖的章 一天之内进出演唱会出示盖章就行了
    • token保存到了哪里?
      保存到前端,浏览器或者app都是保存到了cookies的地方,后端保存在了redis或者session里面。
  • cookies:是手机和浏览器自带的一个储存的功能。一般我们的token就是存放到这里面的。
  • session:是服务器自带的一个功能,它的作用和redis一样,也是用来存储数据的,不过session没有redis好用,

项目结构

mvc

mvc结构,简单理解,就是前端和后端代码在一个软件包里头。但是随着互联网发展,现在软件越来越复杂,为了更加方便项目的开发,所以前端和后端的代码是不建议写到一个代码包里头,前后端分离慢慢被淘汰了。在这里插入图片描述

猫宁商城,前后端是在一起的

前后端分离的项目

前端代码是一个软件包,后端代码是一个软件包,前端的开发工作和后端的开发工作是互相独立的,互不影响的,前端写错不会影响后端,后端写错不会影响前端。

跨域:前端和后端网址不一样会导致跨域问题。协议、IP、端口、路径只要有一个不一样,就会导致跨域的问题。浏览器十进制跨域访问的!不能只用tomcat,所以要用nginx,nginx作为一个代理。

人才信息是前后端分离,直接用浏览器访问ip,不能成功,设置代理

搭建前后端分离项目

1…war放到tomcat的webapps
2.navicat上传数据库
3.检查数据库密码mysql -u root -p Enter password: 和redis密码redis-cli
4.改nginx配置文件vi /etc/nginx/nginx.conf,添加项目,设置location代理在这里插入图片描述
端口号1234,代理密码rencai
5.修改前端rencai的代码,把代理中的地址 ctrl+f搜索,ctrl+h替换
在这里插入图片描述
6.云服务器防火墙添加端口号1234
7.浏览器访问http://121.4.32.20:1234/login
8.hgetall +一连串大写字母 ->生成token
在这里插入图片描述

  • 前后端分离项目实现原理
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值