golang:操作redis,存取json数据
存
if b, err := json.Marshal(movie1); err == nil {
conn.Do("LPUSH", "movies", string(b))
}
取
- 第一种
movies, _ := redis.Values(conn.Do("LRANGE", "movies", 0, -1))
for _, value := range movies {
tempMovie := movie.BaseMovie{}
err := json.Unmarshal([]byte(value.([]uint8)), &tempMovie)
if err == nil {
moviesList = append(moviesList, tempMovie)
}
}
fmt.Println(moviesList)
- 第二种
movies, _ := redis.Strings(conn.Do("LRANGE", "movies", 0, -1))
for _, value := range movies {
tempMovie := movie.BaseMovie{}
err := json.Unmarshal([]byte(value), &tempMovie)
if err == nil {
moviesList = append(moviesList, tempMovie)
}
}