Mnemonix v0.5.0 Mnemonix.Stores.Redix

A Mnemonix.Store that uses Redix to store state in redis.

iex> {:ok, store} = Mnemonix.Stores.Redix.start_link
iex> Mnemonix.put(store, :foo, "bar")
iex> Mnemonix.get(store, :foo)
"bar"
iex> Mnemonix.delete(store, :foo)
iex> Mnemonix.get(store, :foo)
nil

Summary

Functions

Callback implementation for c:Mnemonix.Store.Behaviours.Map.delete/2

Callback implementation for c:Mnemonix.Store.Behaviours.Map.fetch/2

Callback implementation for c:Mnemonix.Store.Behaviours.Map.put/3

Connects to redis to store data

Starts a new Mnemonix.Store using the Mnemonix.Stores.Redix module

Starts a new Mnemonix.Store using the Mnemonix.Stores.Redix module with init opts

Functions

delete(store, key)
delete(Mnemonix.Store.t, Mnemonix.key) ::
  {:ok, Mnemonix.Store.t} |
  Mnemonix.Store.Behaviour.exception

Callback implementation for c:Mnemonix.Store.Behaviours.Map.delete/2.

fetch(store, key)
fetch(Mnemonix.Store.t, Mnemonix.key) ::
  {:ok, Mnemonix.Store.t, {:ok, Mnemonix.value} | :error} |
  Mnemonix.Store.Behaviour.exception

Callback implementation for c:Mnemonix.Store.Behaviours.Map.fetch/2.

put(store, key, value)
put(Mnemonix.Store.t, Mnemonix.key, Mnemonix.Store.value) ::
  {:ok, Mnemonix.Store.t} |
  Mnemonix.Store.Behaviour.exception

Callback implementation for c:Mnemonix.Store.Behaviours.Map.put/3.

setup(opts)
setup(Mnemonix.Store.options) ::
  {:ok, state :: term} |
  {:stop, reason :: any}

Connects to redis to store data.

Options

  • conn: The Redis to connect to, as either a string or list of opts w/ host, port, password, and database.

    Default: "redis://localhost:6379"

All other options are passed verbatim to Redix.start_link/2.

start_link(opts \\ [])

Starts a new Mnemonix.Store using the Mnemonix.Stores.Redix module.

If you wish to pass configuration options to the module instead, use start_link/2 with an empty opts list.

The returned GenServer.server/0 reference can be used as the primary argument to the Mnemonix API.

Examples

iex> {:ok, store} = Mnemonix.Stores.Redix.start_link
iex> Mnemonix.put(store, :foo, "bar")
iex> Mnemonix.fetch(store, :foo)
{:ok, "bar"}
iex> Mnemonix.delete(store, :foo)
iex> Mnemonix.fetch(store, :foo)
:error

Starts a new Mnemonix.Store using the Mnemonix.Stores.Redix module with init opts.

The returned GenServer.server/0 reference can be used as the primary argument to the Mnemonix API.