View Full Version : A better tep_reset_cache_block

04-29-2007, 01:25 AM
So my friend runs a biz with osC, and he was having major troubles with adding/modifying products. The sql updated, but the browser timed out before finishing the post. Upon investigation we isolated it down to the tep_reset_cache_block() function trying to clear cache files from the cache dir. The cache dir, /tmp/, was filled up with 40,000+ files, so the way tep_reset_cache_block() was iterating through the dir was far too slow and stupid. I have fixed this. He also didn't like that the entire also_purchased cache was removed and not just the cache files pertaining to the product being altered. I fixed this as well.

This new version of tep_reset_cache_block(), uses glob instead of readdir. It's much much faster and also it makes sure there is a properly set pid for the also_purchased cache. This is something of a hack/kludge. I am not familiar enough with the osC codebase to fix the root problem -- merely correct the symptom in the least obtrusive way I could.

This mod should be useful to anyone running a large osC installation and gets a lot of hits and a lot of sessions cached to disk. AFAIK, there are no downsides to this script, but I'm not guaranteeing odd behavior. It certainly shouldn't hose your site.

More... (http://www.oscommerce.com/community/contributions,5108)