1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117
| package main
import ( "fmt"
"github.com/garyburd/redigo/redis" )
func main() { conn, err := redis.Dial("tcp", fmt.Sprintf("%s:%d", "127.0.0.1", 6379), redis.DialPassword("123456")) if err != nil { panic(err) } defer (func() { fmt.Println("connection close") conn.Close() })() if false { conn.Do("set", "hello", "world") rpy, err := redis.String(conn.Do("get", "hello")) if err != nil { panic(err) } fmt.Println(rpy) } if false { conn.Do("set", "hello2", 1) rpy, err := redis.Int(conn.Do("get", "hello2")) if err != nil { panic(err) } fmt.Println(rpy) } if false { args := redis.Args{}.Add("list").Add("kk").Add("ll").Add("ss") conn.Do("lpush", args...) rpy, err := redis.Strings(conn.Do("lrange", "list", 0, -1)) if err != nil { panic(err) } fmt.Println(rpy) } if false { conn.Do("del", "list") val, err := redis.Strings(conn.Do("brpop", redis.Args{}.Add("list").Add(20)...)) if err != redis.ErrNil { fmt.Println(val, err) } } if false { conn.Do("del", "list") vals, err := redis.StringMap(conn.Do("brpop", redis.Args{}.Add("list").Add(20)...)) if err != redis.ErrNil { fmt.Println(vals, err) } } if false { conn.Do("del", "list") conn.Do("lpush", "list", "mm", 100) vals, _ := redis.Values(conn.Do("lrange", "list", 0, -1)) var name string var score int redis.Scan(vals, &score, &name) fmt.Println(name, score) } if true { var p1, p2 struct { Name string `redis:"name"` Age string `redis:"age"` Sex string `redis:"sex"` } p1.Age = "18" p1.Name = "mm" p1.Sex = "male" args1 := redis.Args{}.Add("role:1001").AddFlat(&p1) if _, err := conn.Do("hmset", args1...); err != nil { fmt.Println(err) return }
m := map[string]string{ "name": "dd", "age": "20", "sex": "female", } args2 := redis.Args{}.Add("role:1002").AddFlat(m) if _, err := conn.Do("hmset", args2...); err != nil { fmt.Println(err) return }
for _, id := range []string{"role:1001", "role:1002"} { v, err := redis.Values(conn.Do("HGETALL", id)) if err != nil { fmt.Println(err) return } if err := redis.ScanStruct(v, &p2); err != nil { fmt.Println(err) return } fmt.Printf("%+v\n", p2) } } }
|