CacheBox configuration question on ObjectDefaultTimeout

After more playing, it seems like the ObjectDefaultTimeout and ObjectDefaultLastAccessTimeout don't really play a part unless the cache reaches the MaxObjects.

However, I'm still having issues trying to figure out how the algorithms work.

I've got a cache pool set up w/LRU. If I set my MaxObjects to 3 and write code to put 4 items, none of the items ever end up in the cache--even though I'm adding each item w/a different Timeout and Idle Timeout. Every call to the page ends up w/only cache misses--where I'd expect the 3 items w/the highest timeouts to stay in the cache.

I'm attaching a screenshot of what I'm talking about. The 2-5 execution times show the grabbing of each item and whether it came out of cache or not. It doesn't matter how many times I call this page, every single item is always a miss--unless I reduce the number of items I load below the MaxObjects threshold. You can see from the highlighted Performance field that I have 28 misses--because I've reloaded this page 7 times.

Shouldn't some of these items be kept in cache?

Also, one strange behavior I noticed. If I initially cache 3 objects, everything works fine. When I add a 4th item to retrieve, the first time I run the page, only the 4th (new) item isn't in cache (which I'd expect.) However, each subsequent call removes the last item from the cache. So, the 2nd time I run the page, the 3rd & 4th item aren't retrieved from cache. The 3rd time I run the page, the 2nd, 3rd & 4th item aren't in cache. The 4th time (and any other time) I run the page none of the items come from the cache. This certainly seems like the incorrect behavior.

Any ideas?


Anyone have any ideas what's going on? I've tried a few different both
the ConcurrentStore and ConcurrentSoftReferenceStore ObjectStores and
both exhibit the same behavior.

Here's the screenshot (apparently Google Groups removed it from my e-