摘要: json.Unmarshal不区分json字段 的大小写,只要字母一样即可,不区分大小写 可以看到sEx也被解析了,agde没有被解析,所以大小写不影响反序列化,但是结构体序列化成json的时候大小写必须和tag一致 来自为知笔记(Wiz) 阅读全文
posted @ 2020-01-08 17:00 离地最远的星 阅读(9563) 评论(1) 推荐(1) 编辑
摘要: go定时任务三方包,这个直接拉的版本和文档里的版本是不一样的,要去github看文档,每个版本的使用方法是不一样的,我们这里使用下面的命令去拉取3.0.0版本的查看 go get github.com/robfig/cron/v3@v3.0.0 package Jobs import ( "encoding/json" "log" "sz1/AppInit" "s... 阅读全文
posted @ 2020-01-08 16:33 离地最远的星 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 什么时候创建组合索引? 当我们的where查询存在多个条件查询的时候,我们需要对查询的列创建组合索引 为什么不对每一列创建索引 减少开销 覆盖索引 效率高 减少开销:假如对col1、col2、col3创建组合索引,相当于创建了(col1)、(col1,col2)、(col1,col2,col3)3个索引 覆盖索引:假如查询SELECT col1, col2, col3 FROM 表名... 阅读全文
posted @ 2020-01-07 21:56 离地最远的星 阅读(12147) 评论(0) 推荐(1) 编辑
摘要: mysql对同样一次查询会将结果放入queryCache中,在mysql8.0这个功能已经被砍掉了,适合不经常变动的表,因为经常更新,缓存就是失效,如果经常更新设置了缓存会影响性能,如果是以查询为主的表,可以设置一下 上图最后两项是设置缓存,1表示开启 Qcache_hits表示缓存命中数量,下图中插入了一个缓存,有5999条查询都走了这条缓存,没有直接去查询数据库 来自为知笔记... 阅读全文
posted @ 2020-01-07 15:50 离地最远的星 阅读(706) 评论(0) 推荐(0) 编辑
摘要: 当请求查询语句很简单,返回速度很快时,应该把最大连接数设置小一点,哪怕请求数量很多,因为返回很快,但是多开的连接反而占用了太多服务器资源,得不偿失来自为知笔记(Wiz) 阅读全文
posted @ 2020-01-07 15:36 离地最远的星 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 这里映射到docker容器后,会报错权限问题,因为我们设置的日志权限不对,可以查看日志文件在docker容器内部的属主拿到属主的用户id,再查找我们宿主机的属主对应容器内部属主id的用户,把文件属主改成该用户,再次映射就解决问题 [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [m... 阅读全文
posted @ 2020-01-07 15:32 离地最远的星 阅读(1851) 评论(0) 推荐(0) 编辑
摘要: 1.gin里面的中间件如果出错,不可以直接return,这样会把错误消息返回给客户端,应该使用ctx.Abort()方法,才会中断业务代码运行 2.gin结合go-micro的具体步骤是 服务端:创建proto文件,生成对应的pb文件,根据proto编写的规则编写service的具体实现逻辑,启动micro服务并注册到etcd或者consul中,使用micro api添加网关,或者使用第三方工... 阅读全文
posted @ 2020-01-03 21:33 离地最远的星 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 首先理一下思路,使用代码去注册其他api到go-micro体系中,我们就需要在代码中模拟出这样的json数据,并发送给我们的micro Registry服务 { "jsonrpc": "2.0", "method": "Registry.Deregister", "params": [{ "name": "api.jtthink.com.test", ... 阅读全文
posted @ 2020-01-03 20:50 离地最远的星 阅读(457) 评论(0) 推荐(0) 编辑
摘要: 执行完上面的代码看输出我们可以发现,打开了一个8000端口并监听了它,并且把注册服务的这个服务(micro registry)开启的服务本身注册到了etcd中去 开启micro web,可以看到我们开启的这个注册服务的详情 上面的图我们可以看到如果我们想要通过这个registry服务注册服务到etcd中去,我们需要调用它的Registry.Register方法,它规定了通过发送... 阅读全文
posted @ 2020-01-03 19:01 离地最远的星 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 验证数组 package main import ( "fmt" "gopkg.in/go-playground/validator.v9" "log" "micro/AppLib" ) type Users struct { Username string `validate:"required,min=6,max=20" vmsg:"用户名... 阅读全文
posted @ 2020-01-03 16:23 离地最远的星 阅读(342) 评论(0) 推荐(0) 编辑