[elixir! #0029] 在elixir中使用ets(1)

ETS 全称为 Erlang Term Storage, 常用于作为一种缓存机制, 适合存储大量的数据.

新建一个 ets 表

:ets.new(:bucket, [:set, :protected]

第一个参数是表的名称, 第二个参数是设置选项, 其中包括:

type

  • set 一个 key 一个数据, 无顺序

  • ordered_set 一个 key 一个数据, 有顺序, 相等的 key 会被当成同一个, 例如 1 和 1.0

  • bag 一个 key 多个数据, 但一个 key 下不可有重复的数据

  • duplicate_bag 一个 key 多个数据, 且可以重复

access

  • public 任何进程都可读写表

  • protected 只有表的拥有者可以读写, 其它进程只能读

  • private 只有表的拥有者可以读写

named_table

为 ets 表命名, 替代它的 id

{:keypos, pos}

选择元组的第几个参数作为 key, 默认是 1.

tweaks

{write_concurrency, boolean()} 并发写
{read_concurrency, boolean()} 并发读

在 ets 表中查询

:ets.lookup(table, key)

在 ets 表中删除数据

:ets.delete(table, key)

你可能感兴趣的:(elixir)