1.背景介绍
简介
为什么要写这篇文章?
Go作为一门新的编程语言在开源社区里快速崛起,越来越多的公司和个人开始关注并尝试学习它。我之前一直对Go的一些特性比较感兴趣,尤其是它的并发机制。但是由于自己对数据库方面的知识不是很熟悉,一直没有机会去实际地使用Go来进行开发。最近发现Go生态圈里又有许多优秀的开源项目,比如说go-redis、gorm等,正好利用这些项目可以将Go语言引入到数据库领域的世界中来。所以,我想用本篇文章记录一下我在学习Go语言及相关数据库知识过程中遇到的一些问题和解决方案。
文章范围
本文主要涵盖以下内容:
- MySQL数据库连接池的实现原理;
- Gorm ORM框架基本用法;
- Redis数据缓存的基本用法;
2.核心概念与联系
数据存储和关系型数据库MySQL
关系型数据库管理系统(RDBMS)按照结构化查询语言Structured Query Language(SQL)提供数据的查询、插入、更新和删除功能。SQL是一种通用的标准语言,不同类型的RDBMS使用不同的命令集合来支持SQL语法。关系数据库通常采用三层模式结构:
- 第一层是数据库服务器,即存储数据的地方,每一个数据库服务器运行一个或多个数据库。
- 第二层是数据库,由数据库中表(table)、视图(view)、索引(index)、触发器(trigger)