example.go 594 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // +build ignore
  2. package main
  3. import (
  4. "github.com/garyburd/redigo/exp/scan"
  5. "github.com/garyburd/redigo/redis"
  6. "log"
  7. )
  8. type MyStruct struct {
  9. A int
  10. B string
  11. }
  12. func main() {
  13. c, err := redis.Dial("tcp", ":6379")
  14. if err != nil {
  15. log.Fatal(err)
  16. }
  17. v0 := &MyStruct{1, "hello"}
  18. _, err = c.Do("HMSET", scan.AppendStruct([]interface{}{"key"}, v0)...)
  19. if err != nil {
  20. log.Fatal(err)
  21. }
  22. reply, err := c.Do("HGETALL", "key")
  23. if err != nil {
  24. log.Fatal(err)
  25. }
  26. v1 := &MyStruct{}
  27. err = scan.ScanStruct(reply, v1)
  28. if err != nil {
  29. log.Fatal(err)
  30. }
  31. log.Printf("v1=%v", v1)
  32. }