image.png

1、NoSQL

1.1 Redis集群整合springboot

1.1.1 搭建Redis集群

1. 集群原理

image.png

2. 集群规划

image.png

3. 集群配置

image.png
image.pngimage.pngimage.png

4. 创建集群

image.png

5. 添加主节点

image.pngimage.pngimage.pngimage.png

6. 添加从节点

image.png

7. 删除节点

1.1.2 配置springboot

image.pngimage.png
image.pngimage.pngimage.pngimage.pngimage.png

1.2 整合mongoDB

MongoDB是一种面向文档的数据库管理系统,它是一个介于关系型数据库和非关系型数据库之间的产品,MongoDB 功能丰富,它支持一种类似JSON的 BSON数据格式,既可以存储简单的数据格式,也可以存储复杂的数据类型。MongoDB最大的特点是它支持的查询语言非常强大,并且还支持对数据建立索引。总体来说,MongoDB是一款应用相当广泛的NoSQL数据库。

1.2.1 mongoDB安装

1. 下载MongoDB

https://www.runoob.com/mongodb/mongodb-linux-install.html
image.png
MongoDB 源码下载地址:https://www.mongodb.com/download-center#community第6,7章:整合NoSQL、构建RESTful服务 - 图22第6,7章:整合NoSQL、构建RESTful服务 - 图23image.png
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz

2. 配置MongoDB

image.png

3. mongodb的启动和关闭

image.pngimage.pngimage.png

4. 安全管理

image.pngimage.png

1.2.2 mongodb整合springboot

配置文件

image.png

使用MongoRepository的api

image.pngimage.png

命名规则

image.pngimage.pngimage.png

使用mongoTemplate的api

image.pngimage.png

1.3、session共享

image.pngimage.pngimage.pngimage.png
流程总结:导入依赖 -> 配置文件 -> 写control层。 正常操作httpSession就可以了。
httpSession是Servlet容器提供的,不是springboot提供的。

1.4 整合Nginx

不贴了,自己翻书吧。

2、构建RESTful服务

image.pngimage.pngimage.png

restful风格就是:同一个url,根据谓语动词的不同,可以有不同的操作。(增删改查)

2.1 JPA实现REST

只要导入依赖,并配置好配置文件,
然后创建:1.实体类 2. BookRepository。
就可以了。不用写control层。
他有默认的请求路径:实体类名小写+后缀。
image.pngimage.png
image.png
image.png
image.pngimage.pngimage.pngimage.pngimage.pngimage.png

2.1.2 自定义请求路径

image.png

2.1.3 自定义查询方法

image.pngimage.pngimage.png

2.1.4 隐藏方法

image.pngimage.png

2.1.5 CROS支持

image.png

2.1.6 其他配置

image.pngimage.png

2.2 MongoDB实现REST

其他跟前面一样,就把JpaRepository改成MongoRepository就可以了
image.png


2.3 rest

rest和restful

web早期(HTTP/1.0协议),服务端返回的都是静态页面,即客户端看到的页面全是静态的。一开始就是从纯静态的。
后来静态页面已经不能满足需求。所以重新设计出了HTTP/1.1协议。
而指导设计这套HTTP/1.1协议的背后的一套理论框架,后来被总结并阐述。并且根据这套框架推导出了一种新的架构风格 REST

总结:
各种杂乱理论 -> 设计出HTTP/1.1协议 -> 把杂乱的理论总结成了一套理论框架 -> 根据这套理论框架推导出了 REST 架构风格。
所以 HTTP/1.1协议就是采用的 REST架构风格

先有 REST风格,再设计出来 http1.1协议。但是并没有给风格起名字,后来整理了一下,并起了个名字REST

面向资源编程
每个资源有独一无二的标识符,即地址。
即资源是人,地址是资源的名字,所以每个地址可唯一代表一个资源。
地址是URI:统一资源定位符
image.pngimage.pngimage.png
而改变只有四种变化:增删改查。image.png

image.png
image.png

rest

使用了rest规则的服务就是restful服务

RESTful API

Mock出现的原因

REST API出现时为了应对前后端分离原则。
image.pngimage.png
上面这三个实践的过程就叫做:mock

实现Mock的常见手段

1.JSON文件的方式就是最简单的mock行为(缺点很明显)

image.pngimage.pngfile:///D:/Mywork/work_heima/concurrency/index.html

但是这时候,会出现跨域。因为ajax使用的是 http协议(后面会讲),而我们访问本地index.html很明显使用的是file协议。所以会出现跨域。为了解决这个问题,可以使用node提供的一个模块http-server,不细讲。
缺点:开发环境下的请求地址是 /user.json,生产环境要全部改成真实地址,如果项目特别大的话,非常不好改。
而且只能get,而不能进行其他操作。
并且json文件里的数据还必须得自己手写,非常的不方便。

2.自己写一个简单的API接口

可以自己用node服务器写一个api接口啊对不对。缺点就是有点浪费时间。比使用json文件浪费的时间长。

3.用第三种的工具

介绍两个,尤其推荐第二个:

  • mock.js
  • json-server
  1. mock.js

官网是mockjs.com。 他会拦截ajax请求,生成随机数据,还能产生占位元素(比如图片的占位)
使用方法:
1.引入mock.js文件
2.引入过后全局对象上会多一个Mock对象
3.Mock对象中最常用的就是mock方法。
下面就是实例:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Document</title>
  6. </head>
  7. <body>
  8. <script src="https://unpkg.com/mockjs"></script>
  9. <script src="https://unpkg.com/jquery"></script>
  10. <script>
  11. Mock.mock("/users","get",{
  12. name:'zs'
  13. })
  14. $.get("/users",function(res) {
  15. console.log(res)
  16. })
  17. </script>
  18. </body>
  19. </html>

RESTful API

image.png
image.pngimage.pngimage.png