I use the term "Cache Warmer" for task like this,  where I keep a key
(or keys) warm all of the time.

The best way to keep the load on the DB constant is to Warm the Cache
at a well defined rate.

If you wait for a "request" to update the cache,  then you may loose
control over the exact moment of the load.

The idea is to make a list of the items that need to be warmed,  and
then do that list at a safe rate and time.

Very long TTL values can be un-safe.  Old values can lead to code
errors that are not expected days later.

Edward M. Goldberg
http://myCloudWatcher.com/


On Wed, Aug 5, 2009 at 9:44 AM, dormando<[email protected]> wrote:
>
> Also consider optimizing the page so it doesn't take 20 seconds to render
> - memcached should help you under load, and magnify capacity, but
> shouldn't be used as a crutch for poor design.
>
> -Dormando
>
> On Wed, 5 Aug 2009, Adam Lee wrote:
>
>> Run a cron job that executes the query and updates the cache at an interval
>> shorter than the expiration time for the cached item.
>>
>> On Wed, Aug 5, 2009 at 11:38 AM, Haes <[email protected]> wrote:
>>
>> >
>> > Hi,
>> >
>> > I'm using memcached together with Django to speed up the database
>> > queries. One of my Django views (page) uses a query that takes over 20
>> > sec. Normally this query hits the memcached cache and the data is
>> > served almost instantly. The problem now is that if the cache expires,
>> > the next person accessing this page will have to wait about 20 seconds
>> > for it to load which is not really acceptable for me.
>> >
>> > Is there a way to update the memcached data before it times out, in a
>> > way that this query always hits the cache?
>> >
>> > Thanks for any hints.
>> >
>> > Cheers.
>> >
>>
>>
>>
>> --
>> awl
>>
>

Reply via email to