我刚接触编程语言,只是想编写一个具有良好架构的小型Web应用程序项目。
我通过发布请求获得了一些特定的矩形对象。
type Rectangle struct {
X int //starting x coordinate
Y int //starting y coordinate
Width int
Height int
CreatedAt time.Time
}
我决定选择Redis进行存储,因为它具有高性能,因此我想尝试一下。
我在这里有些困惑:
json, err := json.Marshal(rectangle)
if err != nil {
return err
}
_, err = connection.Do("SET", key, json)
if err != nil {
return err
}
如您所见,我在关键字段中写了什么。我看到了Redis命令“INCR”,但是对于这种模式似乎没有任何意义。
connection.Do("HGETALL", "*", rectangles[])
命令是否可以帮助我获取数据库中所有矩形的数组? 最佳答案
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)
}