之前写过了Go语言gorm框架MySQL实践,其中对gorm框架在操作MySQL的各种基础实践,下面分享一下如何使用gorm框架对MySQL直接进行性能测试的简单实践.
这里我使用了一个原始的Go语言版本的 FunTester 测试框架,现在只有一个基本的方法,实在是因为Go语言特性太强了.框架设计的主要思路之一就是利用Go语言的闭包和方法参数特性,将一个 func() 当做性能测试的主题,通过不断运行这个 func() 来实现性能测试.当然还有另外一个思路就是运行一个多线程任务类,类似 Java 版本的 com.funtester.base.constaint.ThreadBase 抽象类,这样可以设置一些类的属性,绑定一些测试资源,适配更多的测试场景.
下面演示select的性能测试,这里我用了随机ID查询的场景.
这里使用了select的用例部分,随机ID,然后更新name字段,随机10个长度的字符串.
这里用到了 FunTester 字段都是随机生成.
到这里可以看出,性能测试框架用到的都是gorm框架的基础API使用,这里MySQL连接池的管理工作完全交给了gorm框架完成,看资料说非常牛逼,我们只需要设置几个参数.这个使用体现很像 HttpClient 设置 HTTP 连接池类似,这里我们也可以看出这些优秀的框架使用起来都是非常简单的.
PS:关于gorm的基础使用的请参考上一期的文章Go语言gorm框架MySQL实践.
首选进行登录验证,验证过程完全兼容MySQL认证协议,由于用户名和密码在配置文件中已经设置好,所以可以利用该信息验证连接请求是否合法.?
本教程介绍了使用 Godatabase/sql及其标准库中的包访问关系数据库的基础知识.
您将使用的database/sql包包括用于连接数据库、执行事务、取消正在进行的操作等的类型和函数.
在本教程中,您将创建一个数据库,然后编写代码来访问该数据库.您的示例项目将是有关老式爵士乐唱片的数据存储库.
首先,为您要编写的代码创建一个文件夹.
①.、打开命令提示符并切换到您的主目录.
在 Linux 或 Mac 上:
在 Windows 上:
运行go mod init命令,为其提供新代码的模块路径.
此命令创建一个 go.mod 文件,您添加的依赖项将在其中列出以供跟踪.
注意: 在实际开发中,您会指定一个更符合您自己需求的模块路径.有关更多信息,请参阅一下文章.
GO语言(二十五):管理依赖项(上)
GO语言(二十六):管理依赖项(中)
GO语言(二十七):管理依赖项(下)
此时此刻呢,您将创建一个数据库.
在此步骤中,您将创建要使用的数据库.您将使用 DBMS 本身的 CLI 创建数据库和表,以及添加数据.
您将创建一个数据库,其中包含有关黑胶唱片上的老式爵士乐录音的数据.
这里的代码使用MySQL CLI,但大多数 DBMS 都有自己的 CLI,具有类似的功能.
①.、打开一个新的命令提示符.
在命令行,登录到您的 DBMS,如下面的 MySQL 示例所示.
将以下 SQL 代码粘贴到文件中,然后保存文件.
在此 SQL 代码中:
(1)删除名为album表. 首先执行此命令可以让您更轻松地稍后重新运行脚本.
您将使用以下形式的source命令:
此时此刻呢,您将编写一些 Go 代码进行连接,以便进行查询.
现在你已经有了一个包含一些数据的数据库,开始你的 Go 代码.
找到并导入一个数据库驱动程序,该驱动程序会将您通过database/sql包中的函数发出的请求转换为数据库可以理解的请求.
①.、在您的浏览器中,访问SQLDrivers wiki 页面以识别您可以使用的驱动程序.
在此代码中:
(1)将您的代码添加到main包中,以便您可以独立执行它.
导入驱动程序后,您将开始编写代码以访问数据库.
现在编写一些 Go 代码,让您使用数据库句柄访问数据库.
您将使用指向结构的指针sql.DB,它表示对特定数据库的访问.
编写代码
①.、进入 main.go,在import您刚刚添加的代码下方,粘贴以下 Go 代码以创建数据库句柄.
该Config结构使代码比连接字符串更容易阅读.
为了简化代码,您调用log.Fatal结束执行并将错误打印到控制台.在生产代码中,您会希望以更优雅的方式处理错误.
文件的顶部现在应该如下所示:
①.、开始跟踪 MySQL 驱动程序模块作为依赖项.
使用go get 添加 github.com/go-sql-driver/mysql 模块作为您自己模块的依赖项.使用点参数表示"获取当前目录中代码的依赖项".
连接成功了!
此时此刻呢,您将查询一些数据.
以上就是土嘎嘎小编为大家整理的go语言代理mysql相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!