在完成前三部分后,我们成功注册,但是再初始界面是没有地域信息的
初始为空,写入信息后如上图所示
在main.go 中添加
r1.GET("areas", controller.GetArea)
在 web/controller/use.go 中, 添加 GetArea() 函数, 先查缓存, 缓存没有查MySQL, 写入redis缓存;强调:写入 Redis 中的数据 —— 序列化后的字节流数据。
func GetArea(ctx *gin.Context) {
var areas []model.Area
conn := model.RedisPool.Get()
areaData, _ := redis.Bytes(conn.Do("get", "areaData"))
if len(areaData) == 0 {
model.GlobalConn.Find(&areas)
areaBuf, _ := json.Marshal(areas)
conn.Do("set", "areaData", areaBuf)
} else {
json.Unmarshal(areaData, &areas)
}
resp := make(map[string]interface{})
resp["errno"] = "0"
resp["errmsg"] = utils.RecodeText(utils.RECODE_OK)
resp["data"] = areas
ctx.JSON(http.StatusOK, resp)
}
测试:登录 redis ,指定 --raw 参数,显示中文。