Current section

Files

Jump to
redbird lib redis.ex
Raw

lib/redis.ex

defmodule Redbird.Redis do
@moduledoc """
Redis helper functions for Redbird.
"""
def child_spec(args) do
%{
id: Redbird.Redis,
start: {Redbird.Redis, :start_link, [args]}
}
end
def start_link(opts) do
Redix.start_link(opts)
end
def get(key) do
result = Redix.command!(pid(), ["GET", key])
case result do
nil -> :undefined
response -> response
end
end
def setex(%{key: key, value: value, seconds: seconds}) do
result = Redix.command(pid(), ["SETEX", key, seconds, value])
case result do
{:ok, "OK"} -> :ok
{:error, error} -> error
end
end
def del(keys) when is_list(keys) do
Redix.noreply_command(pid(), ["DEL" | keys])
end
def del(key) when is_binary(key) do
del([key])
end
def keys(pattern) do
Redix.command!(pid(), ["KEYS", pattern])
end
def pid do
:redbird_phoenix_session
end
end