You wont be able to run Redis on AppEngine. You can use AppScale though. http://appscale.cs.ucsb.edu/datastores.html#redis
The only thing is that Redis only replicates master-slave by now, so you got a single point of failure. On Mon, Oct 3, 2011 at 7:11 PM, mscwd01 <mscw...@gmail.com> wrote: > Thanks Ikai, if I were to get Redis working on App Engine would it > work across multiple instances if it's all held in memory? > > Regardless, people must be using the memcache to cache data before > persisting updates to the datastore, how is everyone else achieving > this? > > On Oct 3, 10:56 pm, "Ikai Lan (Google)" <ika...@google.com> wrote: > > The publicly available Memcache doesn't have this functionality either, > and > > it's really not as simple as you might think. What if there's a lot of > data? > > Do you need a cursor? Should you lock all Memcache shards? And so forth. > > > > If you're interested in a project that does something similar, you should > > check out Redis. It's a key/value store with data structures that exists > all > > in memory, where values are asynchronously flushed to disk. > > > > -- > > Ikai Lan > > Developer Programs Engineer, Google App Engine > > plus.ikailan.com | twitter.com/ikai > > > > > > > > > > > > > > > > On Mon, Oct 3, 2011 at 2:29 PM, mscwd01 <mscw...@gmail.com> wrote: > > > That's a shame, it's a real disadvantage not having that simple > > > functionality. > > > > > Thanks for your example, although I found it a little difficult to > > > understand it completely. Are you suggesting having an entry in the > > > cache with a key string "allKeys" which maps to a List of keys > > > belonging to all the other entities in the cache? Would this allow me > > > to iterate through the keys, saving the entity to the datastore and > > > then removing the entry from the cache? > > > > > Also what is the "putIfUntouched" statement for? > > > > > Thanks again > > > > > On Oct 3, 9:51 pm, Bruno Fuster <brunofus...@gmail.com> wrote: > > > > I don't think so. > > > > > > You could create a key with all entities ids that need to be updated. > > > > > > Something like: > > > > > > public void saveEntity() { > > > > > > cache.put(key, entity); > > > > queue.add(withUrl("/entitiesToUpdate?id="+entity.getId())); > > > > > > } > > > > > > and then > > > > > > public void entitiesToUpdate(Long id) { > > > > > > IdentifiableValue i = cache.getIdentifiable("allKeys"); > > > > List<Long> keys = i.getValue(); > > > > keys.add(id); > > > > > > boolean put = cache.putIfUntouched("allKeys", i, keys); > > > > if (!put) { > > > > //response 409 for conflict due to concurrency so appengine > will > > > > retry this later > > > > } > > > > > > } > > > > On Mon, Oct 3, 2011 at 5:38 PM, mscwd01 <mscw...@gmail.com> wrote: > > > > > Hey > > > > > > > How would one return all the values stored within the memcache? > > > > > I have tried using entrySet() and values() methods on the cache but > > > > > both result in an java.lang.UnsupportedOperationException. > > > > > > > Ideally, I need to return all the entities stored within the cache > and > > > > > bulk save them to the datastore - is this possible? > > > > > > > Thanks > > > > > > > -- > > > > > You received this message because you are subscribed to the Google > > > Groups > > > > > "Google App Engine for Java" group. > > > > > To post to this group, send email to > > > > > google-appengine-java@googlegroups.com. > > > > > To unsubscribe from this group, send email to > > > > > google-appengine-java+unsubscr...@googlegroups.com. > > > > > For more options, visit this group at > > > > >http://groups.google.com/group/google-appengine-java?hl=en. > > > > > > -- > > > > Bruno Fuster > > > > > -- > > > You received this message because you are subscribed to the Google > Groups > > > "Google App Engine for Java" group. > > > To post to this group, send email to > > > google-appengine-java@googlegroups.com. > > > To unsubscribe from this group, send email to > > > google-appengine-java+unsubscr...@googlegroups.com. > > > For more options, visit this group at > > >http://groups.google.com/group/google-appengine-java?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine for Java" group. > To post to this group, send email to > google-appengine-java@googlegroups.com. > To unsubscribe from this group, send email to > google-appengine-java+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/google-appengine-java?hl=en. > > -- Bruno Fuster -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-java@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.