cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aristedes Maniatis <>
Subject Re: Cache limits
Date Tue, 25 Jan 2011 10:55:06 GMT
On 25/01/11 9:42 PM, André Rothe wrote:
> Hello,
> currently I try to understand the Cayenne design and implementation. Can you explain,
how you limit the number of objects, which are inside the cache? On an application with a
huge number of data rows, the most important point is the size of the used memory for the
object cache.

If you want more sophisticated caching, you might want to look at oscache or other pluggable
options for Cayenne. There is a section about that in the manual.

>  As I have understand, Cayenne tracks the state of the object, so it is only possible
to remove transient objects from the cache. Is it possible to remove the data of (e.g. committed)
objects and hold only the id to save memory?

Yes, you can fetch data using paged queries. In that case the objects (well, most of them)
are hollow, meaning that they hold just the id. This is not only good for memory usage, but
also much faster across the network especially for ROP. You can't make an object hollow once
you already have it in memory, but you can fetch them as hollow in the first place which is
usually what you want to do. It is not uncommon to see an order of magnitude improvement in
memory usage and performance with a reasonably large query result.

I have moved this thread to the correct place: on the user list. Please reply there and drop
dev@ from the cc list.


Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

View raw message