go gin+gorm返回数据处理问题

需求:查询数据库符合条件的所有记录,然后进行循环写入redis代码如下
model:

`func GetPendingVideo(id string) (Task []Task) {
if id != "" {
    db.Where("`status` = ? and task_rule_number=?", 0, id).Find(&Task)
} else {
    db.Where("`status` = ?", 0).Find(&Task)
}

return

}
`

控制器:
id := c.Request.FormValue("id")

var data interface{}
data = models.GetPendingVideo(id)
fmt.Println(data)

请问如何拿到data里面的每一条记录,或者使用其他优化的办法

阅读 5.9k
3 个回答

为什么要先声明一个interface类型的data呢?是有特殊的用处? 直接data:= 然后for循环data不行吗?

多谢,可以了

循环写入redis的话,看业务场景,为了响应快速,如果hash结构合适的话,可以批量hset,如果不合适的话,可以用pip模式,来提高写入的速度。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题