Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- var pools []*redis.Pool
- func main() {
- readServers := []string{
- "my-redis-server1:6379",
- "my-redis-server2:6379",
- }
- for _, s := range readServers {
- pools = append(pools, &redis.Pool{
- MaxIdle: 5,
- Dial: func() (redis.Conn, error) {
- fmt.Printf("server: %sn", s)
- c, err := redis.Dial("tcp", s)
- if err != nil {
- panic(err.Error())
- }
- return c, err
- },
- })
- }
- for i, p := range pools {
- c := p.Get()
- defer c.Close()
- res, err := redis.String(c.Do("GET", "key"))
- fmt.Printf("pools[%d] res: %s, err: %sn", i, res, err)
- }
- }
- server: my-redis-server1:6379
- pools[0] res: , err: redigo: nil returned
- server: my-redis-server2:6379
- pools[1] res: value, err: %!s(<nil>)
- server: my-redis-server2:6379
- pools[0] res: value, err: %!s(<nil>)
- server: my-redis-server2:6379
- pools[1] res: value, err: %!s(<nil>)
- package main
- import (
- "fmt"
- "github.com/garyburd/redigo/redis"
- )
- var pools []*redis.Pool
- func newPool(svr string) *redis.Pool {
- return &redis.Pool{
- MaxIdle: 5,
- Dial: func() (redis.Conn, error) {
- fmt.Printf("server: %sn", svr)
- c, err := redis.Dial("tcp", svr)
- if err != nil {
- panic(err.Error())
- }
- return c, err
- },
- }
- }
- func main() {
- readServers := []string{
- "my-redis-server1:6379",
- "my-redis-server2:6379",
- }
- for _, s := range readServers {
- pools = append(pools, newPool(s))
- }
- for i, p := range pools {
- c := p.Get()
- defer c.Close()
- res, err := redis.String(c.Do("GET", "key"))
- fmt.Printf("pools[%d] res: %s, err: %sn", i, res, err)
- }
- }
Add Comment
Please, Sign In to add comment