## ETS

### Usage

    iex> table = :ets.new(:my_table, [])
         8211

    iex> :ets.insert(table, {:fruit, "Apple"})
    iex> :ets.lookup(table, :fruit)
         [{:fruit, "Apple"}]

    iex> :ets.delete(table)
    iex> :ets.delete_all_objects(table)

### Flags

    iex> table = :ets.new(:my_table, [:set, :protected])

`:set` | no duplicate keys (or: `:ordered_set`, `:bag`, `:duplicate_bag`)
`:protected` | only this process can use it (or: `:public`, `:private`)

### Ordered sets

    :ets.first(table)
    :ets.last(table)
    :ets.next(table, key)
    :ets.prev(table, key)

## References

- http://erlang.org/doc/man/ets.html
- http://learnyousomeerlang.com/ets

0 Comments for this cheatsheet. Write yours!