"RPUSH"명령을 사용하여 내 개체를 내 붉게 만듭니다.redigo and gob 고브 데이터 조각을 검색하는 방법
// object is of type interface
var network bytes.Buffer
gob.NewEncoder(&network)
enc.Encode(object /* interface{} */)
redis.String(d.Conn.Do("RPUSH", "objects", network.String()))
Redigo 내가 예상 한대로, 모든 데이터 구조를 gob로 인코딩했습니다.
이제 내가 그들을 retreive하기 위해 노력하고있어 :sall, _ := redis.Strings(d.Conn.Do("LRANGE", "todos", "0", "-1"))
fmt.Printf("%T", sall) // type []string as expected
// At this point, I have no idea if I should store the data in a buffer, or convert it directly as bytes. actually, here I'm lost
var network bytes.Buffer
var object []interface{}
dec := gob.NewDecoder(network)
err := dec.Decode(inout)
fmt.Printf("%v", err) // decode error:EOF
그들을 GOB-decod하는 가장 좋은 방법은 무엇입니까? 인터페이스 {}의 조각으로 다시 가져오고 싶습니다. 하지만 내 물건이 고블라 데이터로 인코딩 되더라도. 그들은 redis 방법으로 밀려 나고, 그래서 그것은 멍청한 관점에서 슬라이스로 간주 될 수 있습니까?
다른 목록을 반복하여 하나씩 디코딩 할 수 있습니다. 그러나 효율성에 대한 확신이 없습니다. 나는 홉이 그 방식으로 인코딩 된 슬라이스 구조를 원한다고 가정하고있다. 그래서 내 질문은 : 데이터 구조의 컬렉션으로 멍청이 데이터의 조각을 효율적으로 해독하기 위해 속임수가 있나요? 또는 다른 방법으로 데이터 구조를 저장해야합니까? (RPUSH로 내 데이터를 저장하면 무차별 조작을 방지 할 수 있다고 가정합니다)
당신을 감사로 코드를 작성합니다. –