39 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			39 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Erlang Term Storage | |||
|  | localeTitle: Срок хранения Erlang | |||
|  | --- | |||
|  | ## Срок хранения Erlang
 | |||
|  | 
 | |||
|  | Erlang Term Storage, обычно сокращенная как ETS, представляет собой встроенную в OTP базу данных, она доступна в Elixir и является мощной альтернативой решениям Redis, когда приложение работает на одном узле. | |||
|  | 
 | |||
|  | ## Быстрый старт
 | |||
|  | 
 | |||
|  | Для создания таблицы ETS сначала необходимо инициализировать таблицу `tableName = :ets.new(:table_otp_name, [])` , как только вы активируете таблицу, которую вы можете: вставлять данные, значения поиска, удалять данные и т. Д. | |||
|  | 
 | |||
|  | ### Демо-версия ETS в IEX
 | |||
|  | 
 | |||
|  | ```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, чтобы уменьшить количество запросов к базе данных. Другим вариантом использования является ограничение скорости использования функций в веб-приложении. Быстрая скорость чтения и записи ETS делает его отличным для этого. Таблицы ETS являются мощным инструментом для разработки высококонвертируемых веб-приложений при минимально возможной стоимости оборудования. | |||
|  | 
 | |||
|  | #### Дополнительная информация:
 | |||
|  | 
 | |||
|  | *   [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) |