jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Cronin" <tcro...@interwoven.com>
Subject RE: what happened to my cache keys
Date Fri, 18 Jul 2008 20:10:57 GMT
jcs.auxiliary.DC.attributes.maxKeySize=1000000

it should spool to disk for overflow?

-----Original Message-----
From: Niall Gallagher [mailto:niall@switchfire.com] 
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: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Mime
View raw message