I’m developing an application in java to be hosted in google app engine where i need to store user preferences(object with 10 String variables) untill he is logged in. I will be using this data frequently(once in two minutes per user).Should i use data store with memcache or are there any other scalable way? I’m expecting very high traffic(may be 50000 people at a time).Is it ok to store 50000 objects in memcache at a time?
It’s an sms application where users interact only through SMS. So i cannot use session for storing data as my traffic is routed through SMS gateway.
Is it O.K. to store 50,000 objects in
memcache? Sure, but as others have correctly noted, it’s a cache, so you’re going end up storing data in the datastore, too.Stepping back, one of the big reasons to use
memcachein an interactive application is for a better user experience. You want to minimize response time by caching things might introduce a noticeable delay if you had to pull them out of slower storage.Is that even worth doing for an SMS app? Compared to the delays in the SMS infrastructure, I’d bet that the time difference between
memcacheanddatastoreis barely measurable.I’d keep your app as simple as possible until it works, then look for optimization opportunities. I think you’ll find them more along the lines of making sure that properties you’re going to use in queries are unindexed, so that your writes will be faster.