0

我对如何在我开发的 RESTful Web 应用程序中管理数据感到很困惑。客户端应该保存多少数据?

举一个更具体的例子:

我的应用程序将信件从一个系统发送到另一个系统。我使用 Sql server 将字母保存在服务器端。对于每个字母,都有目的地和由地址对象表示的源,其中包含有关地址的完整信息。我无法决定如何管理我的应用程序中的地址数据,我应该:

  1. 在启动时将所有地址加载到我的客户端,并且每个发送的信件都将整个地址列表粘贴到请求中?该请求将包含更多数据并且更大,但我不需要获取服务器上的所有站点

  2. 仅将地址的 Id 加载到客户端并使用 Id 发送请求,然后从服务器端的数据库中加载它们?请求将包含较少量的数据,但我需要获取服务器上的所有地址

  3. 我应该只在客户端上保存代表他自己的地址和其他电台 ID 的地址对象吗?与 2 相同,但我不需要获取发件人的地址

每种方法的优缺点是什么?如果站点数量在 100 个左右(每个对象中没有太多数据),您会选择什么

我不是专业人士,所以如果我说的任何错误/愚蠢的措辞请纠正我

提前致谢。

4

1 回答 1

1

没有适用于所有情况的灵丹妙药,但我建议您采用以下方法:

  1. 将所有地址加载到客户端。很可能最终用户更喜欢查看详细的地址信息而不是无意义的 ID
  2. 用户选择目的地后,您的应用仅将 id 发送到服务器
  3. 服务器必须通过 db 中的 id 获取地址详细信息
  4. 寄信

客户端不应发送完整的地址对象,因为它可能(意外或故意)错误。您最好始终从数据库中获取真实有效的数据。如果您需要减少数据库的负载,您应该更好地使用服务器端缓存。例子:

  1. 创建从 db 获取地址的存储库
  2. 创建存储库包装器,它只从数据库中获取数据一次,然后保存在 MemoryCahce 结构中
  3. 在您的应用程序中使用缓存的包装器
于 2016-03-11T13:00:23.857 回答