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
Comment #1
ilmaestro CreditAttribution: ilmaestro commentedOne 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
Comment #2
robertDouglass CreditAttribution: robertDouglass commentedThe 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.
Comment #3
ilmaestro CreditAttribution: ilmaestro commentedThanks for the response Robert.
Comment #4
robertDouglass CreditAttribution: robertDouglass commentedComment #5
Anonymous (not verified) CreditAttribution: Anonymous commentedAutomatically closed -- issue fixed for two weeks with no activity.
Comment #6
gmangones CreditAttribution: gmangones commentedHow 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