jakarta-jcs-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Smuts (JIRA)" <j...@apache.org>
Subject [jira] Commented: (JCS-50) 3 new memory caches
Date Fri, 12 Sep 2008 00:23:44 GMT

    [ https://issues.apache.org/jira/browse/JCS-50?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630433#action_12630433
] 

Aaron Smuts commented on JCS-50:
--------------------------------

I think that you can implement an LFU expiration policy using a treemap alone.  You wrap all
keys in an object that contains a usage count.  You create the treemap with a comparator that
checks this value.  When you get an item, you update the usage count, remove it, and then
put it back into the map.  You have to remove it, because the comparator won't be consistent
with equals.  (I think that this should work).  This might be slow. . .  If it works, it would
allow you to expire items that were less popular.  Here popularity would be the popularity
over the life of the item.  It would be very hard to displace an old item that was once very
popular.  Elvis might be stuck in the cache forever. . . .  

> 3 new memory caches
> -------------------
>
>                 Key: JCS-50
>                 URL: https://issues.apache.org/jira/browse/JCS-50
>             Project: JCS
>          Issue Type: Improvement
>          Components: Composite Cache
>    Affects Versions: jcs-1.4-dev
>         Environment: current jcs trunk
>            Reporter: Maxim Gordienko
>            Assignee: Aaron Smuts
>         Attachments: 0001-refactored-memory-cache-hierarchy.patch, 0002-improve-performance-or-MRU-list.patch,
0003-added-new-structure-PriorityList.patch, 0004-added-new-FIFO-memory-cache.patch, 0005-added-LFU-memory-cache.patch,
0006-added-Expiration-memory-cache.patch
>
>
> This is a refactoring/reformat of patch introduced in JCS-43.
> Patch is splitted in 6 parts
> 1) refactoring memory caches to achieve higher code reuse
> 2) refactoring MRU cache to use double linked list instead of LinkedList
> 3) introduction of new PriorityList structure
> 4-6) new caches FIFO, LFU, Expiration

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org


Mime
View raw message