Zend Framework

Zend_Cache_Backend_TwoLevels auto_refresh_fast_cache off and priority lower than 10 causes inconsistencies

Details

  • Type: Improvement Improvement
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 1.9.3
  • Fix Version/s: None
  • Component/s: Zend_Cache
  • Labels:
    None

Description

Basically whenever auto_refresh_fast_cache is turned off (which is another issue in its own right, turned on its VERY resource heavy!) and having a priority lower than 10 it causes the fast cache to expire a good while before the slow cache.

Using the default settings and turning auto_refresh_fast_cache off and a timeout of 86400 secs:

APC: 28800 secs timeout
File: 86400 secs timeout

And now due to no auto_refresh_fast_cache this will not update the APC cache timeout once it expires, and for 2/3rds of the day the slow file cache will be used over the APC one!

I propose either:
a) Updating the TwoLevels::save() to set the same timeout for both APC or File while auto_refresh_fast_cache= false
b) Updating the TwoLevels::load() to attempt to update the fast cache when reading from the slow cache, this could still be inefficient however due if the fast cache shoudln't be saved it'll try to save to the fast cache on every ->load() that involves the slow cache, which is far from ideal (but still better than it is currently) could maybe do a 1 in X like you do currently for the "stats_update_factor" setting

Issue Links

Activity

There are no comments yet on this issue.

People

Vote (1)
Watch (1)

Dates

  • Created:
    Updated: