Yeah, Redis won't work in App Engine. I was just citing it as an example of
something that was designed closer to the use you were looking for (as
opposed to memcache).

--
Ikai Lan
Developer Programs Engineer, Google App Engine
plus.ikailan.com | twitter.com/ikai



On Mon, Oct 3, 2011 at 3:18 PM, Bruno Fuster <brunofus...@gmail.com> wrote:

> 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.
>

-- 
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.

Reply via email to