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().
okkey-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).
okOther commands is here. http://redis.io/commands