H5W3
当前位置:H5W3 > 其他技术问题 > 正文

存redis数据库问题!

//用户的消息存储
func (this *UserDao) SaveContent(id int, content string) (err error) {
    // 先从UserDao 的连接池中取出一根连接
    conn := this.Pool.Get()
    defer conn.Close()
    nowTime := time.Now()
    noTime := nowTime.Format("2006-01-02 15:04:05")

    //定义map存储内容和时间
    saveContent := make(map[string]string)
    saveContent[noTime] = content

    data, err := json.Marshal(saveContent)
    if err != nil {
        fmt.Println("json.Marshal(saveContent) err=", err)
    }
    //入库
    _, err = conn.Do("HSet", "usersContent", id, string(data))
    if err != nil {
        fmt.Println("HSet err =", err)
    }
    return
}

* * *

本段代码,我定义了一个map,想把当前时间作为键,把用户的消息内容为值存入redis,结果如下:
image.png
,但是用户下一次发消息的时候,会覆盖上一条数据,每个用户就只有一条数据。请问该咋改勒!谢谢啦### 问题描述

回答:

可以使用list结构, sortedset也可以(具体看需求)

// _, err = conn.Do("LPUSH", "usersContent:{id}", string(data))
_, err = conn.Do("RPUSH", "usersContent:{id}", string(data))

回答:

已经解决勒 十分感谢

本文地址:H5W3 » 存redis数据库问题!

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址