带你认识存储 & 数据库
认识存储与数据库
主流存储产品剖析
- 单机数据模型(26:26):
- 关系型数据库:使用表格(也称为关系)来组织数据,其中每个表都由行和列组成。这些表之间可以通过关系建立连接,这种结构可以提供强大的数据一致性和关系约束。代表性的关系型数据库有MySQL、PostgreSQL、Oracle等。
- 非关系型数据库:采用不同的数据模型,如键值对、文档、列族、图等。这使得非关系型数据库能够更灵活地存储和查询各种类型的数据。代表性的非关系型数据库有MongoDB、Cassandra、Redis、Neo4j等。
2.分布式数据库的出现是为了解决单机数据库在面对大规模数据、高并发访问、高可用性、复杂查询等方面的局限性。分布式数据库为应用提供了更大的灵活性、可扩展性和性能,能够更好地满足现代应用的需求。
存储与数据库的新技术演进
课后作业
实现一个(分布式) key - value 存储系统
要求: 1.基于本地文件系统实现,支持常用的 put ( k , v )、 get ( k , v )、 scan _ by _ prefix ( prefix )接口
2.支持存储 server 独立进程部署,支持跨进程或者网络访问
3.IO操作做到低时延
4.*可选:支持扩展成分布式架构,多台存储 server 组成一个分布式 key - value 存储系统,并保证全局的数据一致性
PART 2
前面有些步骤省略了
当谈及 Go 语言的后端开发框架,Gin 是一个非常受欢迎且高效的选择。Gin 是一个轻量级的Web框架,旨在提供快速、简单、灵活的路由和中间件功能。以下是 Gin 框架的使用简介:
-
安装 Gin: 首先,您需要安装 Gin 框架。使用以下命令通过 Go Module 安装 Gin:
go get -u github.com/gin-gonic/gin -
创建一个简单的示例: 创建一个新的 Go 文件,例如
main.go,并编写以下代码:package main import "github.com/gin-gonic/gin" func main() { // 创建一个默认的 Gin 路由引擎 r := gin.Default() // 定义路由处理函数 r.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, Gin!", }) }) // 启动服务 r.Run(":8080") } -
运行示例: 在终端中使用以下命令运行您的示例程序:
go run main.go -
访问路由: 打开浏览器或使用工具(如 curl 或 Postman)访问
http://localhost:8080/,您应该会看到返回的 JSON 响应:{"message": "Hello, Gin!"} -
路由和中间件: Gin 支持简单且灵活的路由定义和中间件功能。您可以使用
GET、POST、PUT、DELETE等方法来定义不同类型的路由。此外,Gin 还支持中间件,用于在请求和响应之间添加额外的处理逻辑。 -
参数获取: Gin 提供了多种方式来获取 URL 中的参数、查询参数、POST 数据等。
-
模板渲染: Gin 支持模板渲染,您可以将动态数据渲染到 HTML 模板中。
这只是 Gin 框架的基本用法介绍,Gin 还提供了很多高级特性,如路由组、模板功能、错误处理、中间件链等。您可以查阅 Gin 官方文档(gin-gonic.com/)或其他教程来深入学习 Gin 框架的更多功能和用法。
以下是实际操作步骤
package main
import "github.com/gin-gonic/gin"
func main() {
// 创建一个默认的 Gin 路由引擎
r := gin.Default()
// 定义路由处理函数
r.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{
"message": "Hello, Gin!",
})
})
// 启动服务
r.Run(":8080")
}
在terminal中
go run main.go
[GIN-debug] Listening and serving HTTP on :8080
直接在浏览器里搜索 localhost:8080
{ "message": "Hello, Gin!" }
可在main.go中加上连接数据库的代码
RESTFUL API 12:48
它是一种基于HTTP协议的应用程序编程接口,用于在客户端和服务器之间进行通信和数据传输。
REST API 的设计理念是利用 HTTP 方法(如 GET、POST、PUT、DELETE 等)和 URL(统一资源定位符)来处理数据和状态的操作。
API POST 14:15
ApiPost。它将Swagger 、 Postman 、 RAP 、 JMeter 的功能完美的做了整合,一款工具,全部搞定。