View Source ActiveMemory (ActiveMemory v0.2.3)
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 Test.Support.People.Person do
use ActiveMemory.Table,
options: [index: [:last, :cylon?]]
attributes do
field :email
field :first
field :last
field :hair_color
field :age
field :cylon?
end
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,
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