1 |
|
-module(mongoose_redis). |
2 |
|
-author("bartlomiej.gorny@erlang-solutions.com"). |
3 |
|
|
4 |
|
%% API |
5 |
|
-export([cmd/1, cmd/2, cmds/1, cmds/2]). |
6 |
|
|
7 |
|
-ignore_xref([cmd/2, cmds/2]). |
8 |
|
|
9 |
|
-include_lib("eredis/include/eredis.hrl"). |
10 |
|
|
11 |
|
%%%=================================================================== |
12 |
|
%%% API |
13 |
|
%%%=================================================================== |
14 |
|
|
15 |
|
-spec cmd(iolist()) -> undefined |
16 |
|
| binary() |
17 |
|
| [binary() | [binary() | integer()] | integer() | {'error', _}] |
18 |
|
| integer() |
19 |
|
| {'error', _}. |
20 |
|
cmd(Cmd) -> |
21 |
81470 |
cmd(Cmd, 5000). |
22 |
|
|
23 |
|
-spec cmds([iolist()]) -> undefined |
24 |
|
| binary() |
25 |
|
| [binary() | [binary() | integer()] | integer() | {'error', _}] |
26 |
|
| integer() |
27 |
|
| {'error', _}. |
28 |
|
cmds(Cmd) -> |
29 |
17506 |
cmds(Cmd, 5000). |
30 |
|
|
31 |
|
-spec cmd(iolist(), integer()) -> return_value() | {error, _}. |
32 |
|
cmd(Cmd, Timeout) -> |
33 |
81470 |
{ok, Worker} = mongoose_wpool:get_worker(redis, global, default), |
34 |
81470 |
case eredis:q(Worker, Cmd, Timeout) of |
35 |
81469 |
{ok, Value} -> Value; |
36 |
:-( |
V -> V |
37 |
|
end. |
38 |
|
|
39 |
|
-spec cmds([iolist()], integer()) -> |
40 |
|
[{ok, return_value()} | {error, Reason::binary()}] | {error, no_connection}. |
41 |
|
cmds(Cmd, Timeout) -> |
42 |
17506 |
{ok, Worker} = mongoose_wpool:get_worker(redis, global, default), |
43 |
17506 |
eredis:qp(Worker, Cmd, Timeout). |