我有一點點的GAE應用,爲我的Android應用程序在後臺運行。 我在應用程序中有一個servlet,用於從數據存儲中提取數據並將其發送給用戶。 我不希望任何人能夠使用這個servlet,所以我在應用中存儲了一個私鑰,並且爲每個發送令牌的請求 - 私鑰的哈希字符串和當前毫秒數,以及毫秒我在散列中使用。 服務器正在使用毫秒和私鑰,並將其與令牌進行比較。如果進展順利,服務器將存儲毫秒數爲HashSet
,以便它不會再使用它。 (有人可以嗅探設備數據 - 並一次又一次地發送相同的毫秒和令牌)。App Engine中的servlet存儲用於標記列表 - java的
起初,我在Servlet類,後來發現是錯誤舉行靜態字段,因爲這個領域是不是依然存在,當實例被摧毀所有的數據都迷路。
我已閱讀Memcache
,但它不是最佳解決方案,因爲據我所知,如果應用內存不足,或者即使存在服務器故障,Memcache
中的數據也可能會被擦除。
我不希望使用數據存儲,因爲它真的會請求慢得多。
我想我不是誰面臨的問題之首。 我該如何解決它?
謝謝您的詳細解答。你面對挑戰的方式是好的,但有一些額外的開銷,我不確定我想添加到我的servlet中。我已經想到了你的另一種方式(有時間偏移),但是它留下了一些錯誤空間。我會接受你的回答,因爲它給了我很多很好的信息,但我想我會堅持我的方式,只使用Memcache。謝謝! – Elad92 2013-03-15 09:01:17