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