I saw that you can turn cache-items to false and it will only store
the IDs in memory, but at the expense of paging, or at least more
efficient paging.  Is this true?  I thought the docs said that to do
paging it would have to grab all the objects again, then grab the
subset of data you want.

In our particular instance, we have very large objects that are
relatively unique across clients.  Some objects will be shared, but
most won't.  Just trying to forecast how it will effect the server.

Thanks,
 Geoff

--- In flexcoders@yahoogroups.com, Jeff Vroom <[EMAIL PROTECTED]> wrote:
>
> That is basically how it works but only if you have auto-sync
enabled=true and cache-items=true on your destination settings.   The
auto-sync feature requires that we maintain at least the identities of
all objects managed on every client so that we know where to push
changes.   The goal here is that you don't have to worry about
tracking that and can still easily keep clients in sync.   Also, if
two clients fetch an object with the same id, only one copy is cached.
 If you turn cache-items=false, we cache only the ids, not the items
so we keep a lot less state around (though we do have to go back to
the assembler more often so that is more load on the database).
> 
> If you turn auto-sync off, the server maintains no state but the
synchronization functionality would then only work if you enable
"manual sync" - i.e. where your clients specify subscriptions they
want to listen to and also can specify meta-data that is attached to
all changes made.  That meta-data is used to route changes to the
right subscribed clients.
> 
> Jeff
> 
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
On Behalf Of Geoffrey
> Sent: Wednesday, July 23, 2008 5:21 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] LCDS Memory Usage
> 
> 
> Looking in the LiveCycle Data Services ES Developer's Guide, page 190,
> it states:
> "By default, the Data Management Service caches items returned
> from fill() and getItem() calls and uses cached items to implement
> paging and to build object graphs on the server when implementing lazy
> associations. This causes a complete copy of the managed state of all
> active clients to be kept in each server's memory."
> 
> Here's what I think that means. If I have 100 clients, and each
> client has one managed collection that contains 100 items in it, then
> there would be 10,000 copies residing in memory on the server(100
> objects for 100 users).
> 
> Am I understanding this correctly? Does this seem inefficient? What
> if those objects happened to be really big objects... I mean really
> big. Seems like that would take up a lot of memory on the server.
> 
> Has anyone come up against this in practice?
> 
> Thanks,
> Geoff
>


Reply via email to