gpt4 book ai didi

go - 是否有任何自动增量机制用于使用 redigo 包装器将键值存储在 redis 中?

转载 作者:可可西里 更新时间:2023-11-01 11:23:19 24 4
gpt4 key购买 nike

我是编程语言的新手,只想编写一个具有良好架构的小型 Web 应用程序项目。

我通过 post 请求获得了一些特定的 recangle 对象。

type Rectangle struct {
X int //starting x coordinate
Y int //starting y coordinate
Width int
Height int
CreatedAt time.Time
}

我决定选择 redis 进行存储,因为它具有高性能,我想掌握它。

我在这里有点困惑:

  1. 对象的存储性质中没有特定的键,所以我想出了键自动递增的想法,但仍然坚持如何实现,因为在我研究插入模式时,它类似于:

    json, err := json.Marshal(rectangle)
    if err != nil {
    return err
    }

    _, err = connection.Do("SET", key, json)
    if err != nil {
    return err
    }

如您所见,我不知道要在关键字段中写什么。我看到了 Redis 命令“INCR”,但对于这种模式似乎没有任何意义。

  1. 如果我想获取所有矩形而不考虑它们的键,connection.Do("HGETALL", "*", rectangles[]) 命令会帮助我获取数据库?

最佳答案

A list符合问题中提出的要求。

添加矩形:

 _, err := c.Do("RPUSH", "rectangles", rectJSON). 

获取所有矩形:

rectJSONs, err := redis.ByteSlices(c.Do("LRANGE" "rectangles", 0, -1))
if err != nil {
// handle error
}
var rectangles []*Rectangle
for _, rj := range rectJSONS {
var r Rectangle
if err := json.Unmarshal(rj, &r); err != nil {
// handle error
}
rectangles = append(rectangles, &r)
}

关于go - 是否有任何自动增量机制用于使用 redigo 包装器将键值存储在 redis 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57338171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com