# eredis_sync
![Erlang CI](https://github.com/funbox/eredis_sync/workflows/Erlang%20CI/badge.svg)
A simple Redis client which uses an optimized version of
[eredis](https://github.com/wooga/eredis) parser to interact with Redis through
a simple `gen_tcp` socket, without any `gen_server` wrapper or smth.
## Build
```bash
make
```
## Tests
```bash
make test
```
One needs to have local `redis-server` installed to run tests.
## Usage
With `rebar`, add actual version of the library to `rebar.config`, for example:
```erlang
{eredis_sync, ".*",
{git, "https://github.com/funbox/eredis_sync.git", {ref, "v0.1.4"}}},
```
or add it as a Hex dependency:
```erlang
{deps,[
eredis_sync
%% {eredis_sync,"0.1.4"}
]}.
```
## Example
```erlang
{ok, Conn} = eredis_sync:connect({127,0,0,1}, 6379),
{ok, <<"PONG">>} = eredis_sync:q(Conn, ["PING"]),
Timeout = 1000,
[
{ok, _},
{ok, <<"1">>},
{ok, <<"1">>},
{ok, [<<"1">>, <<"2">>]}
] = eredis_sync:qp(Conn1, [
["DEL", "S"],
["SADD", "S", "1"],
["SADD", "S", "2"],
["SMEMBERS", "S"]
], Timeout),
{error, _} = eredis_sync:q(Conn2, ["PANG"]),
ok = eredis_sync:close(Conn3).
```
[![Sponsored by FunBox](https://funbox.ru/badges/sponsored_by_funbox_centered.svg)](https://funbox.ru)