【发布时间】:2017-06-15 19:16:20
【问题描述】:
我想知道在数据库中使用大状态(存储)和 sql 请求之间的最佳设计方法是什么。 假设您有一个 Todo CRUD 应用程序。你可以在 Redux 实现中将 Todos 列表保存在 store 中。如果您想对这些 TODO 进行复杂的统计,最好的方法是什么:Reducer 或 sql 请求?
例如,您想获取当月的所有待办事项:
- reducers/store 方法
您可以从商店获取所有待办事项列表并按日期过滤待办事项以获取当月的所有待办事项。- 优点:
易于管理的 CRUD 操作,商店中的一种状态更改(待办事项列表)
客户端/服务器流量低 - 缺点
客户端的业务逻辑
大数据处理的客户端开销
- 优点:
- Sql请求方式:
数据库中的复杂请求以获取这些待办事项并将状态“currentMonthTodos”保存在商店中。在这种情况下,您会从 currentMonthTodos 状态获取当前月份的待办事项列表- 优点:
服务器端的业务逻辑
减少大数据的页面加载时间 - 缺点
CRUD 操作的状态管理不佳
高网络流量
店铺规模变大了
- 优点:
【问题讨论】:
-
如果您使用分页,请使用带有查询字符串的后端请求。
-
Redux 顺便说一句,非常适合分页。
-
@altruistlife,我可能会在第二天左右更新更多我的答案。
-
@prosti 谢谢。我认为这是一种关于服务器端与客户端渲染的问题。这个话题很有帮助[链接]quora.com/…
-
@altruistlife,谢谢,我更新了一下我的帖子。
标签: reactjs design-patterns redux client-server restful-architecture