Eung-Ju, Attached is an implementation of a CacheStore that you may find interesting.
It does not, however, require a CachePolicy. It is based on the 2 Data Spaces pattern for LRU caching. I modified the LRUCacheTestCase just to test it before sending it - I'll let you determine if you actually roll it in. enjoy. Larry > -----Original Message----- > From: Eung-ju Park [mailto:[EMAIL PROTECTED]] > Sent: Monday, January 07, 2002 2:03 AM > To: Avalon Developers List > Subject: Re: excalibur.cache.LRUCachePolicy > > > Hi. > > ----- Original Message ----- > From: "Alexis Agahi" <[EMAIL PROTECTED]> > To: "'Avalon Developers List'" <[EMAIL PROTECTED]> > Sent: Monday, January 07, 2002 8:17 AM > Subject: excalibur.cache.LRUCachePolicy > > > > Hi, > > > > I've checked the cache implementation from excalibur scratchpad > > and notice that LRUCachePolicy use the ListCachePolicy LinkedList > > to perform the LRU mecanism. > > > > To have a LRU 'hit' effect, it removes the object from the list > > and put it at the top. > > What if the list is really huge? I mean, to perform the remove it > > It is not a Cache if it is really huge. ;-) Just kidding. > > > has to scan the whole list, since it doesn't have an index (or > > I'm wrong)? > > > > I would suggest having another approach using a logical clock > > value and 'time' hashmap. > > > > Something like: > > When a 'hit' is called, it gets the current object and set its > > 'value' to the current logical time. > > To remove the oldest, it gets the oldest value in the time map. > > > > To be really honest, this approach is not necessarily the best: > > the remove case is slower that the linked list one, but the 'hit' > > could be faster. Now it depends on the hit/remove ratio. But I > > guess in an LRU cache, you should have a maximum of 'hit' call. > > Yes. If you want that kind of ReplacementPolicy. Just > implement it. and use > like bellow. > > final Cache cache = new DefaultCache( new TimeMapLRUCachePolicy(), > MemoryCacheStore( 1000000000 ) ); > > and test it. > and send to this list. > > Thanks. > > > > > > > Regards > > > > -- > > mailto:[EMAIL PROTECTED] - > > http://sourceforge.net/projects/jabaserver > > > > -- > > To unsubscribe, e-mail: > <mailto:[EMAIL PROTECTED]> > > For additional commands, e-mail: > <mailto:[EMAIL PROTECTED]> > > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
SpacesCacheStore.java
Description: Binary data
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
