大家好,
我正在 React/Redux 和 GraphQL/ GraphCool中构建一个“复杂”的社交英语词汇“游戏”
在应用程序处于活动状态时仅将所有状态保存到 redux,并且仅在 5 / 10 分钟间隔内和/或用户退出应用程序时将用户/游戏状态发送到后端,这是一种最佳做法吗?
感觉每一次状态变化都可能会不必要地产生许多请求?
我在这里思考正确的方向吗?
谢谢!
好问题。
这取决于您尝试使用您的应用程序实现的目标。它归结为用户离开应用程序的频率,以及您想要保存它的频率。
如果用户在 5-10 分钟间隔内离开应用程序,而您的网站碰巧没有保存它,那将是相当糟糕的用户体验,因为该用户会回来发现他们在游戏中失去了位置。因此,诀窍是找到一次可以批处理的数量和频率之间的平衡,其中如果在任何给定时间关闭应用程序,您的用户不会觉得他/她的操作没有被保存。
希望这可以帮助!
有趣的想法,我认为你绝对可以让它发挥作用。但是,我认为您可能会发现这些请求无论如何都非常便宜,并且您应该延迟优化,直到您发现需要它为止。如果没有必要,那么花在这上面的时间将是浪费。
我担心您可能会继续遇到因尝试在不限制可用性的情况下限制调用而产生的并发症,其方式比您最初预期的要多。
除非您在开始编程之前已计划好一切,否则请选择 (1) 使其正常工作,(2) 使其正确,(3) 使其快速,最后一步将包括任何降低成本的优化。