我正在編寫一些 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 關注
- 205 瀏覽
添加回答
舉報
0/150
提交
取消