REST Web api 应用程序数据管理
REST Web api application data managment
我很困惑应该如何管理我开发的 RESTful Web 应用程序中的数据。应该在客户端保存多少数据?
更具体的例子:
我的应用程序将信件从一个系统发送到另一个系统。我使用 Sql 服务器将字母保存在服务器端。对于每个字母,都有目的地和由地址对象表示的源,地址对象包含有关地址的完整信息。我无法决定我应该如何管理我的应用程序中的地址数据,我应该:
在启动时将所有地址加载到我的客户端,并在每次发送信件时将整个地址列表粘贴到请求中?该请求将包含更多数据并且更大,但我不需要获取服务器上的所有站点
仅将地址的 ID 加载到客户端并发送带有 ID 的请求,然后从服务器端的数据库加载它们?请求将包含较少的数据量,但我需要获取服务器上的所有地址
我应该只在客户端保存代表他自己的地址的地址对象和其他站的 ID 吗?与 2 相同,但我不需要获取发件人的地址
每个方法的pros/cons是什么?如果站点数量在 100 个左右(每个对象中没有那么多数据),你会选择什么
我不是专业人士所以如果我说的是wrong/silly措辞
请指正
提前致谢。
没有适用于所有情况的灵丹妙药,但我建议您采用以下方法:
- 将所有地址加载到客户端。很可能最终用户更喜欢
查看详细的地址信息而不是无意义的 ids
- 用户选择目的地后,您的应用仅向服务器发送 ID
- 服务器必须通过 id 从数据库中获取地址详细信息
- 寄信
客户端不应发送完整的地址对象,因为它可能(意外或有意)wrong.you 最好始终从数据库中获取真实有效的数据。
如果您需要减少数据库的负载,您最好使用服务器端缓存。示例:
- 创建从数据库获取地址的存储库
- 创建仅从数据库中获取数据一次然后保存在 MemoryCahce 结构中的存储库包装器
- 在您的应用程序中使用缓存包装器
我很困惑应该如何管理我开发的 RESTful Web 应用程序中的数据。应该在客户端保存多少数据?
更具体的例子:
我的应用程序将信件从一个系统发送到另一个系统。我使用 Sql 服务器将字母保存在服务器端。对于每个字母,都有目的地和由地址对象表示的源,地址对象包含有关地址的完整信息。我无法决定我应该如何管理我的应用程序中的地址数据,我应该:
在启动时将所有地址加载到我的客户端,并在每次发送信件时将整个地址列表粘贴到请求中?该请求将包含更多数据并且更大,但我不需要获取服务器上的所有站点
仅将地址的 ID 加载到客户端并发送带有 ID 的请求,然后从服务器端的数据库加载它们?请求将包含较少的数据量,但我需要获取服务器上的所有地址
我应该只在客户端保存代表他自己的地址的地址对象和其他站的 ID 吗?与 2 相同,但我不需要获取发件人的地址
每个方法的pros/cons是什么?如果站点数量在 100 个左右(每个对象中没有那么多数据),你会选择什么
我不是专业人士所以如果我说的是wrong/silly措辞
请指正提前致谢。
没有适用于所有情况的灵丹妙药,但我建议您采用以下方法:
- 将所有地址加载到客户端。很可能最终用户更喜欢 查看详细的地址信息而不是无意义的 ids
- 用户选择目的地后,您的应用仅向服务器发送 ID
- 服务器必须通过 id 从数据库中获取地址详细信息
- 寄信
客户端不应发送完整的地址对象,因为它可能(意外或有意)wrong.you 最好始终从数据库中获取真实有效的数据。 如果您需要减少数据库的负载,您最好使用服务器端缓存。示例:
- 创建从数据库获取地址的存储库
- 创建仅从数据库中获取数据一次然后保存在 MemoryCahce 结构中的存储库包装器
- 在您的应用程序中使用缓存包装器