jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alistair Forbes" <forbes...@googlemail.com>
Subject Re: Disk Cache and MemoryShrinker
Date Wed, 26 Apr 2006 21:54:33 GMT
Least recently used. A MRU (Most recently used) does exist, but I doubt that
this is what you want.

Al

On 4/26/06, Eddie Liu <eidde.com@gmail.com> wrote:
>
> Thanks for the explanation!  I now have a much clearer picture of how JCS
> works.
>
> One thing I want to make sure I understand correctly: When I am using LRU
> memory cache, the *last* recently used item will be spooled to disk when
> an
> item is put into memory?  Or the *least* recently used item will be
> spooled
> to disk?
>
> Thanks.
>
> Eddie
>
>
> On 4/24/06, Aaron Smuts <asmuts@yahoo.com> wrote:
> >
> > The memory shrinker does 2 things.
> >
> > (1) It removes items that have exceeded their max
> > life.  That is, it removes them altogether.  It
> > doesn't put them on disk; it simply gets rid of them.
> > If you don't run the memory shrinker these items can
> > hang around in memory, but they will not be returned
> > by the jcs.get call.  Each time you get an item from
> > the cache, JCS checks to see if it has expired.  If it
> > has expired, it will not be returned.
> >
> > (2) The memory shrinker moves items from memory to
> > disk if the items have exceeded their max memory time.
> > In you cache.ccf file this is set on the line that
> > looks like this:
> > jcs.region.listDS.cacheattributes.MaxMemoryIdleTimeSeconds=5
> > You have it set to a mere 5 seconds.  This is why the
> > items are being put to disk so quickly.  Remember that
> > items are also put to disk when the max memory size.
> > If you are using the LRU memory cache, which is the
> > defualt, the lest recently used item will be spooled
> > to disk when an item is put into memory.  Items are
> > put into memory in three ways: (a) An item goes into
> > memory if you call put( key, value ). (b) Items are
> > put into memory if they are retrieved from disk.  (c)
> > If an item is put into the cache from a lateral or
> > remote auxiliary, it will be added to memory.
> >
> > I hope this helps.
> >
> > Cheers,
> >
> > Aaron
> >
> > --- Eddie Liu <eidde.com@gmail.com> wrote:
> >
> > > I might not understand enough, but when I enabled
> > > MemoryShrinker, in the log
> > > when it says:
> > >
> > > [4/24/06 17:17:16:688 EDT] 00000036 CacheEventQue I
> > >  Cache event queue
> > > created: CacheEventQueue [listenerId=-842985658,
> > > cacheName=enforce2ListDS]
> > > [4/24/06 17:17:26:703 EDT] 00000041 CacheEventQue I
> > >  QProcessor exiting for
> > > CacheEventQueue [listenerId=-842985658,
> > > cacheName=enforce2ListDS]
> > >
> > > From my observation, that was when it wrote to disk
> > > cache?  Right after I
> > > saw that, I made another request for the same cached
> > > data, but this time it
> > > returned null on the jcs.get(id) call.
> > >
> > > Why it didn't load it from disk?  I timed it and
> > > made sure I made the new
> > > request after it wrote to disk but BEFORE it exceed
> > > the maxLifeSeconds.  But
> > > it behaved as if it has already expired.  Is there
> > > anything else I need to
> > > do to get the data from disk-cache?
> > >
> > > Thanks alot!
> > >
> > > Eddie
> > >
> > > Configuration as follow:
> > >
> >
> >
> -----------------------------------------------------------------------------
> > > jcs.region.listDS=DC
> > >
> >
> >
> jcs.region.listDS.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> > > jcs.region.listDS.cacheattributes.MaxObjects=1200
> > >
> >
> >
> jcs.region.listDS.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> > > jcs.region.listDS.elementattributes.IsEternal=false
> > >
> > jcs.region.listDS.elementattributes.MaxLifeSeconds=30
> > > jcs.region.listDS.elementattributes.IdleTime=1800
> > > jcs.region.listDS.elementattributes.IsSpool=true
> > > jcs.region.listDS.elementattributes.IsRemote=true
> > > jcs.region.listDS.elementattributes.IsLateral=true
> > >
> > jcs.region.listDS.cacheattributes.UseMemoryShrinker=true
> > >
> > jcs.region.listDS.cacheattributes.MaxMemoryIdleTimeSeconds=5
> > >
> > jcs.region.listDS.cacheattributes.ShrinkerIntervalSeconds=5
> > > jcs.region.listDS.cacheattributes.MaxSpoolPerRun=500
> > >
> >
> >
> -----------------------------------------------------------------------------
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail: jcs-users-help@jakarta.apache.org
> >
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message