Elixir/Phoenix是存储/表示需要访问但很少更改的数据的最佳方式
在我们正在创建的应用程序中,我们有客户向我们提供他们的物品,以利用我们提供的服务。例如,客户拥有一本书,希望将其包装起来以备将来存储或检查其状况 我们决定以这种方式构建: 项目Elixir/Phoenix是存储/表示需要访问但很少更改的数据的最佳方式,elixir,phoenix-framework,Elixir,Phoenix Framework,在我们正在创建的应用程序中,我们有客户向我们提供他们的物品,以利用我们提供的服务。例如,客户拥有一本书,希望将其包装起来以备将来存储或检查其状况 我们决定以这种方式构建: 项目 Name Details Company embeds_many :services (embedded schema) Service Price 服务 Name Details Company embeds_many :services (embedded schema) Service Price 我们有不
Name
Details
Company
embeds_many :services
(embedded schema)
Service
Price
服务
Name
Details
Company
embeds_many :services
(embedded schema)
Service
Price
我们有不同公司提供的各种服务,例如:
Company 1 {
{Service: a,
Price: 100},
{Service: b,
Price: 100},
}
Company 2 {
{Service: c,
Price: 100},
{Service: d,
Price: 100},
}
我的问题是,当客户填写表单时,这些值将用于向客户显示总价,并且这些值将作为服务保存在每个提交的项目下,因此数据必须易于访问,表示这些数据的最佳方式是什么
第二,新的服务和价格变化可能会发生,但很少发生,可能以每年一到两次的速度发生
我们最初考虑只为服务创建一个db表,并将值保存到每个项目中(以免将来服务价格发生变化时破坏会计核算),但有没有更好的方法来更快地访问服务数据?为什么不创建一个模块并将数据存储在一个文件中,然后读入,就像elixir知道unicode一样?这样就可以删除数据库要求。您可以查看ETS表。它们是一个erlang特性,应该满足您的描述。然后,您可以在启动时查询数据并将其加载到ETS表中,以便从任何地方进行访问,或者通过包装模块进行访问为什么不创建一个模块并将数据存储在一个文件中,然后将其读入,就像elixir了解unicode一样?这样就可以删除数据库要求。您可以查看ETS表。它们是一个erlang特性,应该满足您的描述。然后,您可以在启动时查询数据并将其加载到ETS表中,以便从任何位置或通过包装器模块进行访问