example
- top
param
统计数据
- load average
- uptime
koroFileHeader
功能: 自动在文件头或函数头增加注释
url: https://marketplace.visualstudio.com/items?itemName=OBKoro1.korofileheader
函数
1 | /** |
文件
1 | <!-- |
1 | 在.vscode下的settigns.json增加配置 |
如下为system使用自定义字段
1 | type System struct{ |
为自定义类型实现接口Value/Scan
1 | func (s System)Value()(driver.Value, error) { |
json查询,例如这里要查询version=1.0的System
1 | select * from table_t |
预加载依赖在领域层结构体变量的gorm tag,需要在结构体上变量上增加外键tag,tag有多种写法,根
领域对象间的不同关系如:belongs to/has one/has many等有不同写法.
排序
1 | // 文档:https://gorm.io/zh_CN/docs/preload.html |
2.
常用
指定从数据库检索记录时的排序方式
1 | db.Order("age desc, name").Find(&users) |
order by field 自定义排序
使用上面的写法通过自定义字段排序时注意,WithoutParentheses为true,为false是构建的sql为order by field(column,(“f1,f2,f3,…”)),会报错
组合排序
1 | select id,status,create_time |
如上的sql使用gorm框架可以这么写:
1 | res:=[]*Order{} |
不能使用链式调用(gorm v2版本,版本号:gorm.io/gorm v1.20.11),如:
1 | db.Clauses(clause.OrderBy{ |
参考文档
强制索引
1 | import "gorm.io/hints" |
Index 用于提高数据检索和 SQL 查询性能。 Index Hints 向优化器提供了在查询处理过程中如何选择索引的信息。与 optimizer 相比,它可以更灵活地选择更有效的执行计划
1 | db.Table("`order` FORCE INDEX (order_create_time_d977ab1e,idx_demand_number, idx_stocked_number,idx_di)"). |
gorm 连接池配置通过sql.DB实现
1 | gormDB,err:=gorm.Open(...) |
What
高性能
分布式
多个分布式节点共享分布式内存,与传统部署方式不同,节点越多,memcached的可用内存越多.
memory object caching system
key-value
LRU (memory manage algorithm)
1 |
1 | import "github.com/astaxie/beego/plugins/cors" |
1 | // 用于staff的排序 |
-i指定密钥
-o加option
1 | -o TCPKeepAlive=yes //长连接 |
1 | ssh -L local_port:localhost:remote_port -N -T user@server_address -p server_ssh_port |
config文件配置: ~/.ssh/config
1 | #配置 |
配置服务端
windows terminal
1 | 连接远程机器使用 ssh 配置 |
1 |
excel表格操作库,对日期格式的数据读写还不是很完善,能识别的日期格式返回一个01-02-06(day-month-day)格式的字符串,无法识别时直接返回的是excel表格中的原始数据,一个浮点型数,在excel中支持很多种日期格式显示。
1 | file,err:=excelize.OpenFile(filepath) |
1 | file:=excelize.NewFile() |