View Source ActiveMemory (ActiveMemory v0.1.1)
Bring the power of in memory storage with ETS and Mnesia to your Elixir application.
ActiveMemory provides a simple interface and configuration which abstracts the ETS and Mnesia specifics and provides a common interface called a Store
.
example-setup
Example setup
- Define a
Table
with attributes. - Define a
Store
with configuration settings or accept the defaults (most applications should be fine with defaults). - Add the
Store
to your application supervision tree.
Your app is ready!
Example Table:
defmodule MyApp.People.Person do
use ActiveMemory.Table attributes: [
:uuid,
:email,
:first_name,
:last_name,
:department,
:start_date,
:active,
:admin?
]
end
Example Mnesia Store (default):
defmodule MyApp.People.Store do
use ActiveMemory.Store,
table: MyApp.People.Person
end
Example ETS Store:
defmodule MyApp.People.Store do
use ActiveMemory.Store,
table: MyApp.People.Person,
type: :ets
end
Add the Store
to your application supervision tree:
defmodule MyApp.Application do
# code..
def start(_type, _args) do
children = [
# other children
MyApp.People.Store,
# other children
]
# code..
end