【Go语言数据库开发】Go 中的 Gorm 高级查询
apaas.dev
7 November 2022
智能选择字段
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语言数据库开发】Golang GORM 约定
apaas.dev
6 November 2022
ID 作为主键
GORM 默认使用名称为 ID 的字段作为表的主键。
type User struct { ID string // field named `ID` will be used as a primary field by default Name string } |
您可以使用标签primaryKey将其他字段设置为主键
【Go语言数据库开发】Redis 和 Go 入门 - 教程
apaas.dev
6 November 2022
大家好,在本教程中,我们将研究如何有效地使用 Redis 作为 Go 应用程序的后端解决方案。
先决条件
如果你想在本地机器上学习本教程,你需要在你的机器上安装以下内容:
- Docker - 这将需要运行 redis 的本地实例,如果您已经有 redis 服务,则不需要 Docker。
- Go 版本 1.12+ - 我们将使用 Go 模块来管理我们项目的依赖项
- 文本编辑器,例如 Visual Studio Code
为什么选择 Redis?
Redis 是一个出色的开源内存数据结构存储,可用于各种用途,例如应用程序的数据库、缓存服务甚至消息代理。
它支持各种不同的数据结构,并且非常灵活和快速。如果您关心弹性等问题,那么您会很高兴听到它具有内置复制功能,并且可以在集群设置中运行,以确保您的应用程序不依赖于单个实例。
然而,出于本教程的目的,我们将使用一个本地运行的 redis 实例来保持它的美观和简单,我们将使用 Docker 运行该实例。