= 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
==Setup
$ git clone git://github.com/hiroeorz/eredis_pool.git
$ cd eredis_pool
$ make get-deps
$ make
==Testing
$ make test
==Settings
edit src/eredis_pool.app.src
{application, eredis_pool,
[
{description, ""},
{vsn, "1"},
{registered, []},
{applications, [
kernel,
stdlib
]},
{mod, { eredis_pool_app, []}},
{env, [
{global_or_local, local},
{pools, [
{default, [
{size, 10},
{max_overflow, 20}
], [] }
]}
]}
]}.
add new pools.
{env, [
{global_or_local, local},
{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