ets v0.7.1 Ets View Source
Ets, an Elixir wrapper for Erlang’s :ets
module.
See Ets.Set
for information on creating and managing Sets, and Ets.Bag
for information on creating and managing Bags.
See Ets.Set.KeyValueSet
for an abstraction which provides standard key/value interaction with Sets.
What type of Ets
table should I use?
Set
If you need your key column to be unique, then you should use a Set. If you just want a simple key/value store,
then use an Ets.Set.KeyValueSet
, but if you want to store full tuple records, use an Ets.Set
. If you want your
records ordered by key value, which adds some performance overhead on insertion, set ordered: true
when creating the Set (defaults to false).
Bag
If you do not need your key column to be unique, then you should use an Ets.Bag
, and if you want to prevent exact duplicate
records from being inserted, which adds some performance overhead on insertion, set duplicate: false when creating the Bag
(defaults to true).
Link to this section Summary
Link to this section Types
table_identifier() :: table_name() | table_reference()
Link to this section Functions
Same as all/1 but unwraps or raises on :error.
Returns list of current :ets tables, each wrapped as either Ets.Set
or Ets.Bag
.
NOTE: Ets.Bag
is not yet implemented. This list returns only :set and :ordered_set tables, both wrapped as Ets.Set
.
Examples
iex> {:ok, all} = Ets.all()
iex> x = length(all)
iex> Ets.Set.new!()
iex> {:ok, all} = Ets.all()
iex> length(all) == x + 1
true