我想在Go中制作一个简单的GAE应用程序,让用户用两种方式投票和存储他们的答案。第一种方式将是原始数据(“投票给X的数据库存储”),第二种方式是这些投票的计数(“X代表12票,Y代表10票)”。什么是同时存储这两个值的有效方法是多人同时访问应用程序?如果我从数据存储中检索数据,将其更改并将其保存回一个实例,另一个可能想要并行执行相同的操作,并且我不确定最终结果是否正确。Google App Engine Go计分和保存
0
A
回答
1
这似乎是一个很好的方法,就是将所有投票事件简单地存储为单独的实体(“投票支持X”),并使用Task Queue进行重新计算(“12票X,10票Y“方式),因此重新计算是按离线和顺序完成的(没有任何种族和其他并发问题)。然后,您必须每隔一段时间将重新计算任务置于队列中,以便更新结果。
任务队列不允许添加具有与现有名称相同名称的其他任务,但不允许检查特定任务是否已入队,因此可能只是尝试将具有相同名称的任务添加到队列将足以确保多个重新计算任务不存在。
另一种方法是使用等待来自输入通道的戳的goroutine来重新计算结果。我没有在App Engine上运行这样的goroutine,所以我不确定这种方法的一般行为。
相关问题
- 1. Google App Engine计数
- 2. Google App Engine Go模板更新问题
- 3. Google App Engine Go HTTP Post []字节
- 4. Google App Engine:保存对象列表?
- 5. Google App Engine/JDO:存储计算值
- 6. Go App Engine调试
- 7. Google App Engine Geohashing
- 8. Google App Engine Blob
- 9. Classes和Google App Engine
- 10. Lucene和Google App Engine
- 11. Google App Engine和android
- 12. Google App Engine和dos.xml
- 13. Google App Engine和Restlet
- 14. Google Checkout和App Engine
- 15. Google App Engine和Android?
- 16. Google App Engine和OpenID
- 17. Google App Engine计数器
- 18. Google App Engine和Google Big Query
- 19. Google App Engine和Google Calendar API
- 20. Google App Engine和Google Storage
- 21. Google App Engine中的查询/数据存储问题 - Go API
- 22. Google App Engine Profiler
- 23. Google App Engine关系表和分页?
- 24. Google App Engine和键值存储
- 25. Go App中的Google App Engine自定义IP端口
- 26. Google App Engine ASP.net
- 27. Google App Engine - JDODetachedFieldAccessException
- 28. SSLHandshakeError - Google App Engine
- 29. Google App Engine - java.security.AccessControlException?
- 30. 玩! 2.0和Google App Engine