タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

qiitaとdatabaseとin-memory-databaseに関するnabinnoのブックマーク (2)

  • ElixirからETSを使う - Qiita

    :ets.new/2で新しいテーブルを作成してETSのPIDが返ります。1個目の引数はテーブル名のatom、2個目はテーブルの定義をatomのlistで設定します。 :setはテーブルの定義を指定していて、同一のキーは登録不可になります。他だと:bagはキーの重複ありなど種類に応じて使い分けられます。 :protectedはアクセスの範囲を指定しています。この場合だと書き込みはテーブルを作成したプロセスのみ、読み取りはオープンという具合です。他にはpublic、privateがあります。 読み書き iex(2)> :ets.insert(table, {:foo, "hoge"}) true iex(3)> :ets.lookup(table, :foo) [{:foo, "hoge"}] iex(4)> :ets.lookup(table, :bar) [] iex(5)> :ets.i

    ElixirからETSを使う - Qiita
  • 3分で分かる Erlang hot code loading - Qiita

    安っぽいタイトルを付けてしまい大変申し訳ありません。 Hot code loading とは、データはそのままでコードだけ最新のやつに差し替える Erlang VM の機能です。 うまくやると無停止で運用できるので嬉しかったりしますが、ちゃんとわかって使わないと謎の挙動に苦しむことになるのでちょっと調べてみました。 概要 まずは 公式ドキュメント を見て、一部動作を予想しつつまとめてみました。最低限、これだけ覚えておけば勝つる。 ■関数の実体 ある関数の実体が所属する世界は current, old の2種類ある. ■関数の実体の解決方法 「Fully qualified function calls」や「Fully qualified functionが入った変数」は常に current のやつを指す. そうでないものは現在実行中の関数が所属する世界のやつを指す. ■コード更新時の処理

    3分で分かる Erlang hot code loading - Qiita
  • 1