I'd love to hear thoughts on this as well, since I struggle with the
same problem.

P

On 5/26/07, Mike Marrone <[EMAIL PROTECTED]> wrote:
I have recently been looking into integrating memcache into our apps,
and had a few newbish implementation questions...
(please forgive me for any ignorance I may have towards memcache, I am
still new to it!)

Memcache is great for retrieving/updating single objects from the cache.
Obviously where the biggest gains are going to come from though are with
searches and caching of collections of objects. I am debating over two
approaches here:
1. Caching of collections (eg: "give me all the user comments related to
foo")
2. Caching entire page outputs based upon the unique url (eg: "give me
the xhtml output for foo/bar?baz=1")
3. A combination of #1 & #2

Getting the data into the cache and retrieving it when appropriate is a
simple matter. It is when the data in the cache has become stale and I
need to flush it from the cache that I become stuck as to how best to
solve the problem.
Take for example a news article. It may have a user comments, a view
count, user votes, etc. Furthermore the news article may appear in lists
on separate pages under the author's profile, or in a search, etc. When
it becomes stale, I would need to either flush all cached collections
containing that object, or flush all cached page data where that object
appears.

One solution for approach #2 above is to simply flush all cached page
data whenever there are writes to the database. Though this is
sub-optimal and would result in low cache hit rates I'm assuming.

I'm sure others out there have solved this problem already. Would anyone
mind sharing their thoughts with me?

Thanks in advance
Mike M




--
blog: http://poorbuthappy.com/ease/
work: http://petervandijck.net
US: (+1) 201 467-5511
Belgium: (+32) 03/325 88 70
Skype id: peterkevandijck

Reply via email to