如何在用户只通过短信进行通信的应用程序中存储用户首选项?

时间:2011-09-21 13:09:36

标签: java google-app-engine memcached

我正在开发一个java应用程序,用于托管谷歌应用程序引擎,我需要存储用户首选项(具有10个字符串变量的对象),直到他登录。我将经常使用这些数据(两分钟一次)每个用户)。我应该使用数据存储与memcache或有任何其他可扩展的方式?我期待非常高的流量(一次可能是50000人)。一次可以在memcache中存储50000个对象吗?

这是一个短信应用程序,用户只能通过短信进行交互。因此,当我的流量通过SMS网关路由时,我无法使用会话来存储数据。

2 个答案:

答案 0 :(得分:2)

是O.K.在memcache中存储50,000个对象?当然,但正如其他人已经正确指出的那样,它是一个缓存,所以你最终也会在数据存储区中存储数据。

退一步,在交互式应用程序中使用memcache的一个重要原因是为了获得更好的用户体验。如果你不得不将它们从较慢的存储中拉出来,你想通过缓存来减少响应时间可能会引起明显的延迟。

对于短信应用来说,这甚至值得吗?与SMS基础设施的延迟相比,我敢打赌,memcachedatastore之间的时差几乎无法衡量。

我会让你的应用尽可能简单直到它工作,然后寻找优化机会。我认为你会发现它们更多的是确保你将在查询中使用的属性没有索引,这样你的写入速度就会更快。

答案 1 :(得分:0)

将其存储在会话中。 Memcache是​​一个缓存,不应该直接用于业务逻辑。