摘要:
一、iotop命令查看IO进程 • 命令:iotop • 安装:yum -y install iotop iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。Linux下的IO统计工具如iostat,nmon等 阅读全文
摘要:
一、Linux查看系统状态 • 命令:vmstat • 命令:vmsta 1 10 #每1秒钟1次显示10次。 r:几个进程在占用cpu b:等待IO值 Swpd:多少交换内存 free:剩余内存(k) Buff:数据缓冲区 cache:数据缓存区 Si:从内存进入内存交换区 so:从内存交换分区到 阅读全文
摘要:
一、查看进程数量,运行状态 • 命令:top • 命令:top –bn1 #打印出静态。 输入指令#1 #排列查看各个cpu使用率。 输入指令#<,> #进程上下拖动。 输入指令#M #使用内存排序。 输入指令#q #退出。 注:Tasks:314个进程,2个运行,312休眠,0个停止,0个僵尸进程 阅读全文
摘要:
一、查看系统内存 命令:free • 注:默认k单位显示 • 注:-m 以MB • 注:-g以GB 单位显示 total used free shared buffers cached Mem: 497 463 33 0 13 124 -/+ buffers/cache: 325 171 Swap: 阅读全文
摘要:
一、查看系统负载 方法一: 查看系统负载 命令:uptime 20:32:10 up 9:22, 4 users, load average: 0.00, 0.00, 0.00 注:load average: 0.00, 0.00, 0.00 方法二:查看系统负载 命令:w 20:31:05 up 阅读全文
摘要:
一、sar简介 sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、 磁盘 I/O、 CPU效率、 内存使用状况、进程活动及IPC有关的活动等。 sa 阅读全文
摘要:
下面介绍GORM关于错误的处理方式 一、错误处理 如果在执行SQL查询的时候,出现错误,GORM 会将错误信息保存到 *gorm.DB 的Error字段,我们只要检测Error字段就可以知道是否存在错误。 if err := db.Where("name = ?", "tizi365").First 阅读全文
摘要:
GORM支持Migration特性,支持根据Go Struct结构自动生成对应的表结构。 注意:GORM 的AutoMigrate函数,仅支持建表,不支持修改字段和删除字段,避免意外导致丢失数据。 一、自动建表 通过AutoMigrate函数可以快速建表,如果表已经存在不会重复创建。 // 根据Us 阅读全文
摘要:
默认情况下GORM因为性能问题,不会自动加载关联属性的值,gorm通过Preload函数支持预加载(Eager loading)关联数据,下面介绍预加载关联数据的方法。 一、预加载例子 // 用户表 type User struct { gorm.Model Username string Orde 阅读全文
摘要:
GORM的关联查询(又叫连表查询)中的Has Many关系是一对多关联关系,通常用于描述一个Model拥有多个Model。 例子 一个用户拥有多张信用卡,下面以Go Struct表示表结构 // 用户 type User struct { // 继承gorm的基础Model,里面默认定义了ID、Cr 阅读全文
摘要:
GORM的关联查询(又叫连表查询)中的Has One关系是一对一关联关系的一种,通常用于描述一个Model拥有另外一个Model。 提示:Has one很像属于(belongs to)关系,都是一对一关系,区别是Has One关系和属于关系,持有关联Model属性的关系是相反的,例如:A 关联 B, 阅读全文
摘要:
GORM的关联查询(又叫连表查询)中的属于关系是一对一关联关系的一种,通常用于描述一个Model属于另外一个Model。 例子 存在一个users表和profiles表: users - 用户表 profiles - 用户个性化信息表 他们之间存在一对一关系,每一个用户都有自己的个性化数据,那么可以 阅读全文
摘要:
一、自动事务 通过db.Transaction函数实现事务,如果闭包函数返回错误,则回滚事务。 db.Transaction(func(tx *gorm.DB) error { // 在事务中执行一些 db 操作(从这里开始,您应该使用 'tx' 而不是 'db') if err := tx.Cre 阅读全文
摘要:
一、删除模型数据 删除模型数据一般用于删除之前查询出来的模型变量绑定的记录。 用法:db.Delete(模型变量) //例子: food := Food{} //先查询一条记录, 保存在模型变量food //等价于: SELECT * FROM `foods` WHERE (id = '2') LI 阅读全文
摘要:
一、前言 为方便描述教程例子,这里给出mysql表结构定义和golang结构体定义。 下面是教程用到的foods表结构定义: CREATE TABLE `foods` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id', `title` var 阅读全文
摘要:
一、前言 gorm查询数据本质上就是提供一组函数,帮我们快速拼接sql语句,尽量减少编写sql语句的工作量。 gorm查询结果我们一般都是保存到结构体(struct)变量,所以在执行查询操作之前需要根据自己想要查询的数据定义结构体类型。 提示:gorm库是协程安全的,gorm提供的函数可以并发的在多 阅读全文
摘要:
一、gorm新增记录 //定义一个用户,并初始化数据 u := User{ Username:"tizi365", Password:"123456", CreateTime:time.Now().Unix(), } //插入一条用户数据 //下面代码会自动生成SQL语句:INSERT INTO ` 阅读全文