8.9技术学习总结 | 青训营

81 阅读4分钟

带你认识存储 & 数据库

认识存储与数据库

主流存储产品剖析

  1. 单机数据模型(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 框架的使用简介:

  1. 安装 Gin: 首先,您需要安装 Gin 框架。使用以下命令通过 Go Module 安装 Gin:

    go get -u github.com/gin-gonic/gin
    
  2. 创建一个简单的示例: 创建一个新的 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")
    }
    
  3. 运行示例: 在终端中使用以下命令运行您的示例程序:

    go run main.go
    
  4. 访问路由: 打开浏览器或使用工具(如 curl 或 Postman)访问 http://localhost:8080/,您应该会看到返回的 JSON 响应:

    {"message": "Hello, Gin!"}
    
  5. 路由和中间件: Gin 支持简单且灵活的路由定义和中间件功能。您可以使用 GETPOSTPUTDELETE 等方法来定义不同类型的路由。此外,Gin 还支持中间件,用于在请求和响应之间添加额外的处理逻辑。

  6. 参数获取: Gin 提供了多种方式来获取 URL 中的参数、查询参数、POST 数据等。

  7. 模板渲染: 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 的功能完美的做了整合,一款工具,全部搞定。