跳转到主要内容

【Go语言数据库开发】Go 中的 Gorm 高级查询

智能选择字段


GORM 允许使用 Select 选择特定字段,如果您经常在应用程序中使用它,也许您想定义一个较小的结构供 API 使用,它可以自动选择特定字段,例如:

type User struct {
  ID     uint
  Name   string
  Age    int
  Gender string
  // hundreds of fields
}

type APIUser struct {
  ID   uint
  Name string
}

// Select `id`, `name` automatically when querying
db.Model(&User{}).Limit(10).Find(&APIUser{})
// SELECT `id`, `name` FROM `users` LIMIT 10

注意 QueryFields 模式将根据当前模型的所有字段名称进行选择

【Go语言数据库开发】Redis 和 Go 入门 - 教程

大家好,在本教程中,我们将研究如何有效地使用 Redis 作为 Go 应用程序的后端解决方案。

先决条件


如果你想在本地机器上学习本教程,你需要在你的机器上安装以下内容:

  • Docker - 这将需要运行 redis 的本地实例,如果您已经有 redis 服务,则不需要 Docker。
  • Go 版本 1.12+ - 我们将使用 Go 模块来管理我们项目的依赖项
  • 文本编辑器,例如 Visual Studio Code

为什么选择 Redis?


Redis 是一个出色的开源内存数据结构存储,可用于各种用途,例如应用程序的数据库、缓存服务甚至消息代理。

它支持各种不同的数据结构,并且非常灵活和快速。如果您关心弹性等问题,那么您会很高兴听到它具有内置复制功能,并且可以在集群设置中运行,以确保您的应用程序不依赖于单个实例。

然而,出于本教程的目的,我们将使用一个本地运行的 redis 实例来保持它的美观和简单,我们将使用 Docker 运行该实例。