1、框架的作用就是简化开发。其中之一就是已经有很多轮子。如:生成n位随机字符串。如:封装redis使能兼容集群和单node 2、读懂xxxConf就读懂了框架结构 rest配置:(很大,框架无非rest和rpc两部分)
3、internal.svc(服务上下文)
1、这里面的东西是可以直接拿来使用的,不要重复造轮子。
重点: 1、框架所有的配置都是一个xxxconf样式的struct(结构体) 2、通过使用core.mapping模块将yaml格式转化成类似map数据格式的struct
多少和字典数据有关
1、Cache.ClusterConf-Cache.NodeConf-redis.RedisConf依次为前一个的字元素
1、在CacheConf对比RedisConf就多了一个权重参数
1、封装redis使能兼容集群和单node
1、框架不厌其烦的将每次mysql查询、查询结果做了redis缓存 如:QueryRow
return cc.cache.Take(v, key, func(v interface{}) error {
return query(cc.db, v)
})
1、mysql操作的一种封装。里面带有orm操作(不要重复轮子) 2、缓存没有,则直接查mysql
err := m.QueryRow(&resp, userIdKey, func(conn sqlx.SqlConn, v interface{}) error {
query := fmt.Sprintf("select %s from %s where `id` = ? limit 1", userRows, m.table)
return conn.QueryRow(v, query, id)
})
这段代码可以看出sqlc、sqlx都有相同的函数名称。都是获取一行数据。sqlc没有用sqlx
1、处理字符串的框架之组件。如:n位随机字符串。