Skip to content

ylsGit/redis

This branch is 2107 commits behind redis/go-redis:master.

Folders and files

NameName
Last commit message
Last commit date
Mar 19, 2015
Jun 3, 2015
Mar 19, 2015
Nov 22, 2015
Dec 19, 2012
Dec 22, 2015
Oct 25, 2015
Dec 22, 2015
Dec 22, 2015
Dec 16, 2015
Dec 16, 2015
Nov 14, 2015
Jul 11, 2015
Dec 22, 2015
Dec 22, 2015
Oct 13, 2015
Oct 13, 2015
Mar 19, 2015
Mar 19, 2015
Oct 7, 2014
Nov 14, 2015
Dec 22, 2015
Oct 13, 2015
Dec 22, 2015
Dec 22, 2015
Dec 16, 2015
Dec 22, 2015
Oct 7, 2015
Nov 14, 2015
Nov 4, 2015
Dec 2, 2015
Nov 14, 2015
Dec 2, 2015
Dec 2, 2015
Nov 18, 2015
Nov 14, 2015
Nov 21, 2015
Dec 22, 2015
Aug 21, 2015
Jun 11, 2015
Oct 13, 2015
May 14, 2015
Sep 4, 2015

Repository files navigation

Redis client for Golang Build Status

Supports:

API docs: http://godoc.org/gopkg.in/redis.v3. Examples: http://godoc.org/gopkg.in/redis.v3#pkg-examples.

Installation

Install:

go get gopkg.in/redis.v3

Quickstart

func ExampleNewClient() {
	client := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // no password set
		DB:       0,  // use default DB
	})

	pong, err := client.Ping().Result()
	fmt.Println(pong, err)
	// Output: PONG <nil>
}

func ExampleClient() {
	err := client.Set("key", "value", 0).Err()
	if err != nil {
		panic(err)
	}

	val, err := client.Get("key").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println("key", val)

	val2, err := client.Get("key2").Result()
	if err == redis.Nil {
		fmt.Println("key2 does not exists")
	} else if err != nil {
		panic(err)
	} else {
		fmt.Println("key2", val2)
	}
	// Output: key value
	// key2 does not exists
}

Howto

Please go through examples to get an idea how to use this package.

Look and feel

Some corner cases:

SET key value EX 10 NX
set, err := client.SetNX("key", "value", 10*time.Second).Result()

SORT list LIMIT 0 2 ASC
vals, err := client.Sort("list", redis.Sort{Offset: 0, Count: 2, Order: "ASC"}).Result()

ZRANGEBYSCORE zset -inf +inf WITHSCORES LIMIT 0 2
vals, err := client.ZRangeByScoreWithScores("zset", redis.ZRangeByScore{
    Min: "-inf",
    Max: "+inf",
    Offset: 0,
    Count: 2,
}).Result()

ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3 AGGREGATE SUM
vals, err := client.ZInterStore("out", redis.ZStore{Weights: []int64{2, 3}}, "zset1", "zset2").Result()

EVAL "return {KEYS[1],ARGV[1]}" 1 "key" "hello"
vals, err := client.Eval("return {KEYS[1],ARGV[1]}", []string{"key"}, []string{"hello"}).Result()

Shameless plug

Check my PostgreSQL client for Go.

Packages

No packages published

Languages

  • Go 99.9%
  • Makefile 0.1%