1
0
mirror of https://github.com/redis/go-redis.git synced 2025-04-19 07:22:17 +03:00

Update README.

This commit is contained in:
Vladimir Mihailenco 2012-07-27 12:51:21 +03:00
parent e73e87fc11
commit 557a0f8403

View File

@ -1,13 +1,16 @@
Readme Readme
====== ======
Sync Redis client for Golang. Redis client for Golang.
Usage Usage
----- -----
Example: Example:
import "github.com/vmihailenco/redis"
connect := func() (io.ReadWriter, error) { connect := func() (io.ReadWriter, error) {
fmt.Println("Connecting...") fmt.Println("Connecting...")
return net.Dial("tcp", "localhost:6379") return net.Dial("tcp", "localhost:6379")
@ -23,20 +26,29 @@ Example:
_, err := redisClient.Set("foo", "bar").Reply() _, err := redisClient.Set("foo", "bar").Reply()
if err != nil { if err != nil {
panic(err) panic(err)
} }
value, err := redisClient.Get("foo").Reply() value, err := redisClient.Get("foo").Reply()
if err != nil { if err != nil {
panic(err) if err != redis.Nil {
panic(err)
}
} }
Multi/Exec Multi/Exec
---------- ----------
Example 1: Getting multiClient:
multiClient := redisClient.Multi() multiClient := redisClient.Multi()
Or:
multiClient = redis.NewMultiClient(connect, disconnect)
Working with multiClient::
futureGet1 := multiClient.Get("foo1") futureGet1 := multiClient.Get("foo1")
futureGet2 := multiClient.Get("foo2") futureGet2 := multiClient.Get("foo2")
_, err := multiClient.Exec() _, err := multiClient.Exec()
@ -46,28 +58,34 @@ Example 1:
value1, err := futureGet1.Reply() value1, err := futureGet1.Reply()
if err != nil { if err != nil {
panic(err) if err != redis.Nil {
panic(err)
}
} }
value2, err := futureGet2.Reply() value2, err := futureGet2.Reply()
if err != nil { if err != nil {
panic(err) if err != redis.Nil {
panic(err)
}
} }
Example 2: Or:
multiClient := redisClient.Multi() multiClient := redisClient.Multi()
multiClient.Get("foo1") multiClient.Get("foo1")
multiClient.Get("foo2") multiClient.Get("foo2")
reqs, err := multiClient.Exec() reqs, err := multiClient.Exec()
if err != nil { if err != nil {
panic(err) panic(err)
} }
for req := range reqs { for req := range reqs {
value, err := req.Reply() value, err := req.Reply()
if err != nil { if err != nil {
panic(err) if err != redis.Nil {
panic(err)
}
} }
} }
@ -84,6 +102,8 @@ Publish:
Subscribe: Subscribe:
pubsub := redisClient.PubSubClient() pubsub := redisClient.PubSubClient()
// pubsub := redis.NewPubSubClient(connect, disconnect)
ch, err := pubsub.Subscribe("mychannel") ch, err := pubsub.Subscribe("mychannel")
if err != nil { if err != nil {
panic(err) panic(err)