Current section
Files
Jump to
Current section
Files
lib/redis.ex
defmodule Redbird.Redis do
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
pid()
|> Redix.command!(["GET", key])
|> case do
nil -> :undefined
response -> response
end
end
def setex(%{key: key, value: value, seconds: seconds}) do
pid()
|> Redix.command(["SETEX", key, seconds, value])
|> case do
{:ok, "OK"} -> :ok
{:error, error} -> error
end
end
def del(keys) when is_list(keys) do
pid()
|> Redix.noreply_command(["DEL" | keys])
end
def del(key) when is_binary(key) do
del([key])
end
def keys(pattern) do
pid()
|> Redix.command!(["KEYS", pattern])
end
def pid do
:redbird_phoenix_session
end
end