I've been considering rolling my own caching mechanism to cache separate items (blocks, pages, nodes) separately, and in such a way that I can update just those individual items whenever a change is made that would effect them. I thought before rolling my own though, I should at least see if anything already did this, which is how I found Advanced Cache.

So I'm basically wondering if advanced cache can do the following:

Cache a node when it is created?
When a node is edited, refresh the content for "only" that node?
Update the cache for particular pages or blocks when some event occurs (such as a node being created or updated, a comment being posted, etc.)?

Thanks in advance.
jonathan

Comments

ilmaestro’s picture

One more thing I forgot to ask...

In the README it is mentioned that advanced cache is useful for caching items for authenticated users. What is the difference between this and how items are cached by drupal for non-authenticated users? Aside from storing separate caches for authenticated and non-authenticated users, is there any difference in what the actual caching does?

Regards,
Jonathan

robertDouglass’s picture

The node caching patch of advcache works as you described. The advcache block caching patch doesn't cache actual blocks, but it caches the processed lists of blocks for a page's regions. The block caching patch is very effective and usually has a very high hit/miss ratio on the sites where I've been able to observe it. If you want real block caching, there is a block cache module dedicated to just this issue.

In the documentation I emphasize the authenticated user gains because Drupal's oft touted page cache only caches for anonymous so lots of people go looking for solutions that will make authenticated user requests faster. Advcache will do that. I can also highly recommend using advcache in combination with the memcache module.

ilmaestro’s picture

Thanks for the response Robert.

robertDouglass’s picture

Status: Active » Fixed
Anonymous’s picture

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for two weeks with no activity.

gmangones’s picture

How is instalation this module? where i see results?
is justly uncomppress in site/all/module ?
I have proble with my site, sql slow queries, i have more than 1000 unics visits daily, this module works for that?
miren el log que genera en el host bluehost.com: log

# Mon Feb 16 07:14:42 2009
# Query_time: 12 Lock_time: 0 Rows_sent: 166 Rows_examined: 166
use biblored_portal;
SELECT *,
`TABLE_SCHEMA` AS `Db`,
`TABLE_NAME` AS `Name`,
`ENGINE` AS `Engine`,
`ENGINE` AS `Type`,
`VERSION` AS `Version`,
`ROW_FORMAT` AS `Row_format`,
`TABLE_ROWS` AS `Rows`,
`AVG_ROW_LENGTH` AS `Avg_row_length`,
`DATA_LENGTH` AS `Data_length`,
`MAX_DATA_LENGTH` AS `Max_data_length`,
`INDEX_LENGTH` AS `Index_length`,
`DATA_FREE` AS `Data_free`,
`AUTO_INCREMENT` AS `Auto_increment`,
`CREATE_TIME` AS `Create_time`,
`UPDATE_TIME` AS `Update_time`,
`CHECK_TIME` AS `Check_time`,
`TABLE_COLLATION` AS `Collation`,
`CHECKSUM` AS `Checksum`,
`CREATE_OPTIONS` AS `Create_options`,
`TABLE_COMMENT` AS `Comment`
FROM `information_schema`.`TABLES`
WHERE BINARY `TABLE_SCHEMA` IN ('biblored_portal')
LIMIT 250 OFFSET 0

# Mon Feb 16 07:30:53 2009
# Query_time: 2 Lock_time: 0 Rows_sent: 1 Rows_examined: 3
use biblored_portal;
SELECT n.nid, n.vid, n.type, n.status, n.created, n.changed, n.comment, n.promote, n.sticky, r.timestamp AS revision_timestamp, r.title, r.body, r.teaser, r.log, r.format, u.uid, u.name, u.picture, u.data FROM node n INNER JOIN users u ON u.uid = n.uid INNER JOIN node_revisions r ON r.vid = n.vid WHERE n.nid = 5115