github.com/cellofellow/gopkg@v0.0.0-20140722061823-eec0544a62ad/database/redis/doc.go (about) 1 // Copyright 2014 <chaishushan{AT}gmail.com>. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 /* 6 Package redix provides a minimalistic Redis client library. 7 8 Example: 9 10 import ( 11 "chai2010.gopkg/datebase/redis" 12 ) 13 14 func main() { 15 var c *redis.Client 16 var r *redis.Reply 17 var s string 18 var err error 19 20 if c, err = redis.Dial("tcp", "127.0.0.1:6379"); err != nil { 21 log.Fatal(err) 22 } 23 defer c.Close() 24 25 // select database 26 if r = c.Cmd("select", 8); r.Err != nil { 27 log.Fatal(err) 28 } 29 30 if r = c.Cmd("flushdb"); r.Err != nil { 31 log.Fatal(err) 32 } 33 34 if r = c.Cmd("echo", "Hello world!"); r.Err != nil { 35 log.Fatal(err) 36 } 37 fmt.Println("echo:", r) 38 39 //* Strings 40 if r = c.Cmd("set", "mykey0", "myval0"); r.Err != nil { 41 log.Fatal(err) 42 } 43 44 if s, err = c.Cmd("get", "mykey0").Str(); r.Err != nil { 45 log.Fatal(err) 46 } 47 fmt.Println("mykey0:", s) 48 49 myhash := map[string]string{ 50 "mykey1": "myval1", 51 "mykey2": "myval2", 52 "mykey3": "myval3", 53 } 54 55 // Alternatively: 56 // c.Cmd("mset", "mykey1", "myval1", "mykey2", "myval2", "mykey3", "myval3") 57 if r = c.Cmd("mset", myhash); r.Err != nil { 58 log.Fatal(err) 59 } 60 61 ls, err := c.Cmd("mget", "mykey1", "mykey2", "mykey3").List() 62 if err != nil { 63 log.Fatal(err) 64 } 65 fmt.Println("mykeys values:", ls) 66 67 //* List handling 68 mylist := []string{"foo", "bar", "qux"} 69 70 // Alternativaly: 71 // c.Cmd("rpush", "mylist", "foo", "bar", "qux") 72 if r = c.Cmd("rpush", "mylist", mylist); r.Err != nil { 73 log.Fatal(err) 74 } 75 76 mylist, err = c.Cmd("lrange", "mylist", 0, -1).List() 77 if err != nil { 78 log.Fatal(err) 79 } 80 fmt.Println("mylist:", mylist) 81 82 //* Hash handling 83 84 // Alternatively: 85 // c.Cmd("hmset", "myhash", ""mykey1", "myval1", "mykey2", "myval2", "mykey3", "myval3") 86 if r = c.Cmd("hmset", "myhash", myhash); r.Err != nil { 87 log.Fatal(err) 88 } 89 90 myhash, err = c.Cmd("hgetall", "myhash").Hash() 91 if err != nil { 92 log.Fatal(err) 93 } 94 fmt.Println("myhash:", myhash) 95 96 //* Pipelining 97 c.Append("set", "multikey", "multival") 98 c.Append("get", "multikey") 99 100 c.GetReply() // set 101 r = c.GetReply() // get 102 if r.Err != nil { 103 log.Fatal(err) 104 } 105 106 s, err = r.Str() 107 if err != nil { 108 log.Fatal(err) 109 } 110 fmt.Println("multikey:", s) 111 } 112 */ 113 package redis