Max objects at the region level sets configures the memory manager.

 

http://jakarta.apache.org/jcs/RegionProperties.html

 

If you use the indexed disk cache, then the MaxKeySize setting on that
auxiliary, configures the number of disk indexes that the disk can have.

 

http://jakarta.apache.org/jcs/IndexedDiskCacheProperties.html

 

This configuration limits the memory cache to 10 and the disk cache to
1000 keys:

 

##############################################################
##### Default Region Configuration
jcs.default=DC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut
es
jcs.default.cacheattributes.MaxObjects=10
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory
.lru.LRUMemoryCache

 

##############################################################
##### AUXILIARY CACHES
# Indexed Disk Cache
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheF
actory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.Indexe
dDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=target/test-sandbox/indexed-disk-ca
che
jcs.auxiliary.DC.attributes.MaxPurgatorySize=500
jcs.auxiliary.DC.attributes.MaxKeySize=1000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=300

 

 

 

________________________________

From: Joshua Fuller [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 20, 2005 3:16 PM
To: Smuts, Aaron
Cc: JCS Users List
Subject: Re: Limiting Disk Cache Size?

 

I'm sorry I seem so confused on this - but I think it must come from a
misunderstanding of how the disk cache is used in the first place.  The
site says "When the memory cache exceeds its maximum size it tells the
cache hub that the item to be removed from memory should be spooled to
disk."  What is the "maximum size" then that is being referred to?  I
was under the impression it was the
"jcs.default.cacheattributes.MaxObjects" value, but that does not seem
to make sense now either.  Can you clarify what values do what in
regards to disk cache?  If I want 10 items in memory, and 1000 items on
disk in my cache - how can I do that?

Thanks,
Josh Fuller

On 9/20/05, Smuts, Aaron <[EMAIL PROTECTED]> wrote:

 

 

________________________________

From: Joshua Fuller [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 20, 2005 12:40 PM
To: Smuts, Aaron
Cc: JCS Users List
Subject: Re: Limiting Disk Cache Size?

 

Thanks for your quick response and help.  So would you recommend setting
up multiple disk cache, and using the MaxKeySize value to limit it?  Or
is your last statement saying that the MaxKeySize will not actually
limit the size of objects on the disk anyway, but only the number of
keys in memory?  

 

The indexec disk cache is a memory index of items on disk.  The keys and
the starting location of on disk for an item are stored in memory.  The
maxkeysize on the disk cache limits the number of keys stored in the
index.  This has nothing to do with the max size setting on the memory
cache.  

 

So to clarify, if I have a database of 100,000 records that are heavily
used - and I have a cache setup with a MaxKeySize of 1,000 - then there
is nothing preventing all 100,000 records from being spooled to disk as
long as they have yet to expire?

 

Yes and no.  All of them can get spooled, but only 1000 will be
available.  



A follow-up question to that would be - Does the memory shrinker thread
get used also to clean up the disk cache items that may have expired, or
how do they get cleaned out?

Nope.  It is just a memory cache shrinker.

 

They get cleaned out when remove is called.  Remove is called when you
call remove or when you call get and an item is found to be expired.

 


Thanks,
Josh Fuller

On 9/20/05, Smuts, Aaron <[EMAIL PROTECTED]> wrote:

You can only limit the number of keys, not the size of the file.  The
disk cache keeps track of empty spots from where an item has been
removed and it tries to reuse them, but this doesn't stop it from
growing indefinitely if you keep putting larger and larger items on 
disk.  I don't think that the disk cache marks a spot as available when
a key is spooled off the disk cache key lru.  . . .

> -----Original Message-----
> From: Joshua Fuller [mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]> ]
> Sent: Monday, September 19, 2005 9:07 PM
> To: jcs-users@jakarta.apache.org
> Subject: Fwd: Limiting Disk Cache Size?
> 
> Sorry, if this is a repeat - the last email didnt seem to send so I'm
> trying
> again......
>
> Is there a way to limit the size of the items in the cache being
stored to
> disk for a given region, or even globally? I can't find any setting 
> anywhere
> that limits the size of the files on disk (by number of elements or
> physical).
>
> Thanks,
> Josh Fuller

 

 

Reply via email to