I must admit some of this caching stuff is over my head, so this may be a misunderstanding on my part of how this is supposed to function.

But essentially I have a View with the following traits:

  • pulling six different fields (2 text, 2 date, 1 boolean, 1 image - although that's just a text string too, right?)
  • four filters with two exposed to users
  • full pager showing 15 items per page (30+ items was making mysql go away)
  • sorted by date and sticky
  • time-based cache is turned on. Settings: query results-never, rendered output-5 mins

Amount of data being pulled is huge: over 4,700 records

Only other caching solution on the site is stock Drupal page caching for anonymous and blocks, both enabled. Cron is running every day although I suspect it fails sometimes.

The default filters are supposed to show all events from "time - now" until there are no more future event nodes.

Problem is, the cache sometimes shows "Now" as being yesterday or two days ago.

Shouldn't the cache refresh every five minutes? Am I misunderstanding how this setting works? Shouldn't the View show up-to-date data even if cron doesn't run, or is cache expiration dependent on the cron running successfully? Or is the stock Drupal page cache overriding the Views cache for anonymous users?


  • query results-never I think this could be the issue. – No Sssweat Jan 6 '17 at 9:22
  • @NoSssweat I don't think that's the issue because this same behavior is happening (or, rather, not happening) even with both time-based caches set to 15 mins. Maybe someone can verify this: if I have the stock Drupal cache turned on for anonymous users, that will cache the content from the View itself until the Anonymous cache is cleared? Which doesn't seem to happen until I completely clear the page cache. It's not expiring on its own. – wickedskaman Jan 6 '17 at 22:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.