我正在编写一些 Go 网络服务(也在 Go 中使用 http.ListenAndServe 实现网络服务器)。我有一个结构图,我想将其保存在内存中(数据大小约为 100Kb),以供不同的 http 请求使用。在 Go 中实现这一目标的最佳方法是什么?根据您的经验,使用全局包变量还是缓存系统(如 memcache/groupcache)更好?
3 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
不要沉迷于过早的优化。定义一个 Go 包 API 来封装数据,然后您可以随时更改实现。例如,只是涂鸦,
package data
type Key struct {
// . . .
}
type Data struct {
// . . .
}
var dataMap map[Key]Data
func init() {
dataMap = make(map[Key]Data)
}
func GetData(key Key) (*Data, error) {
data := dataMap[key]
return &data, nil
}
- 3 回答
- 0 关注
- 177 浏览
添加回答
举报
0/150
提交
取消