Mnemonix v0.2.0 Mnemonix.Mnesia.Store
A Mnemonix.Store adapter that uses a Mnesia table to store state.
Before using, you must have started Mnesia:
iex> :mnesia.create_schema([node])
iex> :mnesia.start()
:ok
iex> {:ok, store} = Mnemonix.Mnesia.Store.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 Mnemonix.Store.Behaviour.delete/2
Callback implementation for Mnemonix.Store.Behaviour.fetch/2
Creates a Mnesia table to store state in
Callback implementation for Mnemonix.Store.Behaviour.put/3
Starts a new Mnemonix.Store using the
Mnemonix.Mnesia.Store adapter
Starts a new Mnemonix.Store using the Mnemonix.Mnesia.Store adapter
with init opts
Functions
Callback implementation for Mnemonix.Store.Behaviour.delete/2.
Callback implementation for Mnemonix.Store.Behaviour.fetch/2.
Creates a Mnesia table to store state in.
If the table specified already exists, it will use that instead.
Options
table:Name of the table to use, will be created if it doesn’t exist. Default:Mnemonix.Mnesia.Store.Tabletransactional: Whether or not to perform transactional reads or writes. Allowed::reads | :writes | :both | nilDefault::both
The rest of the options are passed into :dets.open_file/2 verbaitm, except
for type:, which will always be :set.
Callback implementation for Mnemonix.Store.Behaviour.put/3.
Starts a new Mnemonix.Store using the
Mnemonix.Mnesia.Store adapter.
If you wish to pass configuration options to the adapter 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.Mnesia.Store.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
start_link(Mnemonix.Store.opts, GenServer.options) :: {:ok, GenServer.server}
Starts a new Mnemonix.Store using the Mnemonix.Mnesia.Store adapter
with init opts.
The returned GenServer.server/0 reference can be used as the primary
argument to the Mnemonix API.