README.md

# eredis_pool

eredis_pool is Pool of Redis clients, using eredis and poolboy.

eredis:
https://github.com/wooga/eredis

poolboy:
https://github.com/devinus/poolboy


## Add new pools
```
  {env, [
          {pools, [
                   {default, [
                              {size, 10},
                              {max_overflow, 20}
                             ], []},
                   {pool1, [
                              {size, 30},
                              {max_overflow, 20}
                             ], [
                              {host, "127.0.0.1"},
                              {port, 6379}
                             ]},
                   {pool2, [
                              {size, 20},
                              {max_overflow, 20}
                           ], [
                              {host, "127.0.0.1"},
                              {port, 6379},
                              {database, "user_db"},
                              {password, "abc"},
                              {reconnect_sleep, 100}
                             ]}
                  ]}
        ]}
```

## Examples

```
application start.
 eredis_pool:start().
 ok
```

key-value set and get
```
 eredis_pool:q({global, dbsrv}, ["SET", "foo", "bar"]).
 {ok,<<"OK">>}

 eredis_pool:q({global, dbsrv}, ["GET", "foo"]).
 {ok,<<"bar">>}
```

Redis Pipeline
```
 Pipeline = [["SET", a, "1"],
      ["LPUSH", b, "3"],
      ["LPUSH", b, "2"]].
 eredis_pool:qp({global,dbsrv}, Pipeline).
```

create new pool with default settings.
```
 eredis_pool:create_pool(pool1, 10).
 {ok,<0.64.0>}
```

and omissible argments(host, port, database, password reconnect_sleep).
```
 eredis_pool:create_pool(pool1, 10, "127.0.0.1", 6379, 1, "abc", 100).
 {ok,<0.64.0>}
```

using new pool
```
 eredis_pool:q(pool1, ["GET", "foo"]).
 {ok,<<"bar">>}
```

delete pool
```
 eredis_pool:delete_pool(pool1).
 ok
```


Other commands is here.
http://redis.io/commands