我有一点点的GAE应用,为我的Android应用程序在后台运行。 我在应用程序中有一个servlet,用于从数据存储中提取数据并将其发送给用户。 我不希望任何人能够使用这个servlet,所以我在应用中存储了一个私钥,并且为每个发送令牌的请求 - 私钥的哈希字符串和当前毫秒数,以及毫秒我在散列中使用。 服务器正在使用毫秒和私钥,并将其与令牌进行比较。如果进展顺利,服务器将存储毫秒数为HashSet
,以便它不会再使用它。 (有人可以嗅探设备数据 - 并一次又一次地发送相同的毫秒和令牌)。App Engine中的servlet存储用于标记列表 - java的
起初,我在Servlet类,后来发现是错误举行静态字段,因为这个领域是不是依然存在,当实例被摧毁所有的数据都迷路。
我已阅读Memcache
,但它不是最佳解决方案,因为据我所知,如果应用内存不足,或者即使存在服务器故障,Memcache
中的数据也可能会被擦除。
我不希望使用数据存储,因为它真的会请求慢得多。
我想我不是谁面临的问题之首。 我该如何解决它?
谢谢您的详细解答。你面对挑战的方式是好的,但有一些额外的开销,我不确定我想添加到我的servlet中。我已经想到了你的另一种方式(有时间偏移),但是它留下了一些错误空间。我会接受你的回答,因为它给了我很多很好的信息,但我想我会坚持我的方式,只使用Memcache。谢谢! – Elad92 2013-03-15 09:01:17