将一些关系数据存储在配置文件而不是数据库中

时间:2013-10-30 05:45:59

标签: database database-design

是否建议在配置文件中存储某些数据,同时通过数据库中的ID引用它?具体而言,当存储很少或从未更新的信息时。

例如,我的应用程序中的用户可能有不同的角色。由于这些角色几乎没有(或永远不会)更新,是否真的有必要将它们存储在roles表中并通过users中的ID引用它们?我也可以在数组中定义角色。这样,每次都不需要调用数据库来获取角色信息(每个页面都需要)。

另一种选择是从数据库中缓存整堆角色信息。不确定这是否比将数组存储在某处更好。

在存储任何未由用户编辑的应用程序相关数据时,可以询问同样的问题。

1 个答案:

答案 0 :(得分:1)

  

另一种选择是从数据库中缓存整堆角色信息。不确定这是否比将数组存储在某处更好。

直到您在应用程序中出现错误,网络故障或停电时间过长。此时,缓存的解决方案将重新读取数据库中的“主”数据并继续搅拌,安全地知道数据受数据库事务和备份机制保护。

如果此类灾难发生“单独阵列”解决方案,它可能会破坏阵列存储或使其与其他数据不一致(无引用完整性)。

最重要的是,集中存储数据意味着所有客户端都可以自动看到更改。您可以通过共享文件夹或FTP等“集中”存储文件,但为什么不使用数据库(如果它已经存在)?