freeCodeCamp/guide/chinese/elixir/erlang-term-storage/index.md

39 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Erlang Term Storage
localeTitle: Erlang术语存储
---
## Erlang术语存储
Erlang Term Storage通常被简称为ETS是OTP内置的内存数据库可以在Elixir中访问当您的应用程序在单个节点上运行时它是Redis等解决方案的强大替代品。
## 快速开始
要创建ETS表首先需要`tableName = :ets.new(:table_otp_name, [])`表`tableName = :ets.new(:table_otp_name, [])` ,一旦您将表格`tableName = :ets.new(:table_otp_name, [])`您可以:插入数据,查找值,删除数据等。
### IEX的ETS演示
```elixir
iex(1)> myETSTable = :ets.new(:my_ets_table, [])
#Reference<0.1520230345.550371329.65846>
iex(2)> :ets.insert(myETSTable, {"favoriteWebSite", "freeCodeCamp"})
true
iex(3)> :ets.insert(myETSTable, {"favoriteProgrammingLanguage", "Elixir"})
true
iex(4)> :ets.i(myETSTable)
<1 > {<<"favoriteProgrammingLanguage">>,<<"Elixir">>}
<2 > {<<"favoriteWebSite">>,<<"freeCodeCamp">>}
EOT (q)uit (p)Digits (k)ill /Regexp -->
```
## 坚持
ETS表不是持久的一旦拥有它的进程终止就会被销毁。如果要持久存储数据建议使用传统的数据库和/或基于文件的存储。
## 用例
ETS表通常用于缓存应用程序中的数据例如从数据库获取的帐户数据可以存储在ETS表中以减少对数据库的查询量。另一个用例是限制Web应用程序中功能的使用 - ETS的快速读写速度使其非常适合。 ETS表是以尽可能低的硬件成本开发高度一致的Web应用程序的强大工具。
#### 更多信息:
* [elixir-lang.org | Erlang图书馆ETS](https://elixir-lang.org/getting-started/erlang-libraries.html#erlang-term-storage)
* [erlang.org | ETS](http://erlang.org/doc/man/ets.html)