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