Yes, that's my intent. Basically, I'd like to have this cache persist all elements on disk file when shut down.
THanks On Fri, Jul 18, 2008 at 3:10 PM, Tim Cronin <[EMAIL PROTECTED]> wrote: > jcs.auxiliary.DC.attributes.maxKeySize=1000000 > > it should spool to disk for overflow? > > -----Original Message----- > From: Niall Gallagher [mailto:[EMAIL PROTECTED] > Sent: Friday, July 18, 2008 1:18 PM > To: JCS Users List > Subject: Re: what happened to my cache keys > > MaxObjects=10000 ? > > On Fri, 2008-07-18 at 13:06 -0500, vinay b wrote: > > > I seem to be losing about 90 % of my keys: > > > > 1. insert 500,000 elements in the cache via a loop > > 2. loop through and check whether all elements are accesable > > > > The results and code snippets follow: > > > > STATS: > > > > The stats I get (verified both via a counter I implement) and via the > > stats() method are > > > > Thanks in advance > > > > Vin B > > > > from my code debugs: > > found 45963 in 490001 tries > > end get, ... found 55962 in 500001 tries > > > > > > from the stats: > > Region Name = testCache1 > > HitCountRam = 0 > > HitCountAux = 55962 > > > > ---------------------------LRU Memory Cache > > List Size = 9998 > > Map Size = 9998 > > Put Count = 555962 ==================================> ???? > > Hit Count = 0 > > Miss Count = 500000 =================================> why am I > missing hits > > here > > ---------------------------Indexed Disk Cache > > Is Alive = true > > Key Map Size = 55962 ================================> ???? > > Data File Length = 38544627 > > Hit Count = 55962 > > Bytes Free = 0 > > Optimize Operation Count = 0 > > Times Optimized = 0 > > Recycle Count = 0 > > Recycle Bin Size = 0 > > Startup Size = 46431 > > Purgatory Hits = 0 > > Purgatory Size = 0 > > Working = true > > Alive = true > > Empty = true > > Size = 0 > > Jul 18, 2008 12:28:00 PM > > org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCache$ShutdownHook > run > > WARNING: Region [testCache1] Disk cache not shutdown properly, > shutting down > > now. > > > > > > CODE > > # DEFAULT CACHE REGION > > > > #jcs.default=DC,LTCP > > jcs.default=DC > > > jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttribut > es > > jcs.default.cacheattributes.MaxObjects=10000 > > > jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory > .lru.LRUMemoryCache > > > > # PRE-DEFINED CACHE REGIONS > > > > #jcs.region.testCache1=DC,LTCP > > jcs.region.testCache1=DC > > > jcs.region.testCache1.cacheattributes=org.apache.jcs.engine.CompositeCac > heAttributes > > jcs.region.testCache1.cacheattributes.MaxObjects=10000 > > > jcs.region.testCache1.cacheattributes.MemoryCacheName=org.apache.jcs.eng > ine.memory.lru.LRUMemoryCache > > jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true > > jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600 > > jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=600 > > jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500 > > > jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAtt > ributes > > jcs.region.testCache1.elementattributes.IsEternal=true > > > > > > # AVAILABLE AUXILIARY CACHES > > > 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=c:/tmp > > jcs.auxiliary.DC.attributes.maxKeySize=1000000 > > > > > > > > /////////////////////////////////////////// > > package com.interlegis.ehcachevsjcs; > > > > import org.apache.commons.logging.Log; > > import org.apache.commons.logging.LogFactory; > > import org.apache.jcs.JCS; > > import org.apache.jcs.access.exception.CacheException; > > import org.apache.jcs.engine.CompositeCacheAttributes; > > import org.apache.jcs.engine.behavior.ICompositeCacheAttributes; > > import org.apache.jcs.utils.struct.LRUMap; > > > > public class JCSApp { > > > > private static int MAX_NUM = 500000; > > > > private Log log = null; > > private JCS jcs = null; > > > > public void init() throws CacheException { > > log = LogFactory.getLog(LRUMap.class); > > jcs = JCS.getInstance("testCache1"); > > } > > > > public void insert(int key) throws CacheException { > > jcs.put(Integer.toString(key), new > MyObjectVO(Integer.toString(key), > > "some string" + Integer.toString(key))); > > } > > > > public void insertMany(int maxNum) throws CacheException { > > for (int i = 0; i < maxNum; i++) { > > insert(i); > > > > if ((i % 10000) == 0) { > > System.out.println("inserted " + i + " records"); > > } > > } > > } > > > > public Object get(int key) { > > return jcs.get(Integer.toString(key)); > > } > > > > public void getMany(int maxNum) { > > int count = 0; > > int i = 0; > > for (i = 0; i < maxNum; i++) { > > if (get(i) != null) { > > count++; > > } > > > > if ((i % 10000) == 0) { > > System.out.println("found " + count + " in " + (i + 1) > > + " tries"); > > } > > } > > > > System.out.println("end get, ... found " + count + " in " + (i > + 1) > > + " tries"); > > } > > > > public void junk() { > > > > } > > > > public void printStats() { > > ; > > System.out.println(jcs.getStats()); > > } > > > > public static void main(String[] args) { > > JCSApp jc = new JCSApp(); > > > > try { > > jc.init(); > > jc.insertMany(MAX_NUM); > > System.out.println("insert complete"); > > jc.getMany(MAX_NUM); > > jc.printStats(); > > > > } catch (CacheException e) { > > // TODO Auto-generated catch block > > e.printStackTrace(); > > } > > > > } > > } > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >