java - ehcache memorystoresize and diskstoresize -


[avatar] 2010-09-23 18:20:41 ist have following configuration ehcache.

<cachemanager dynamicconfig="true" monitoring="autodetect" name="cachemanager1"    updatecheck="true"> <diskstore path="java.io.tmpdir" /> <defaultcache    clearonflush="true" copyonread="false" copyonwrite="false" diskaccessstripes="1"    diskexpirythreadintervalseconds="5" diskpersistent="true" diskspoolbuffersizemb="20"    eternal="true" logging="true" maxelementsinmemory="100" maxelementsondisk="100"    memorystoreevictionpolicy="lru" name="cache1" overflowtodisk="true" statistics="true"    timetoidleseconds="0" timetoliveseconds="60" transactionalmode="off"> </defaultcache>    <cache clearonflush="true" copyonread="false" copyonwrite="false" diskaccessstripes="1"    diskexpirythreadintervalseconds="5" diskpersistent="true" diskspoolbuffersizemb="20"    eternal="true" logging="true" maxelementsinmemory="100" maxelementsondisk="100"    memorystoreevictionpolicy="lru" name="cache1" overflowtodisk="true" statistics="true"    timetoidleseconds="0" timetoliveseconds="60" transactionalmode="off"> </cache>        </cachemanager>  

the maxelementsinmemorystore , maxelementsondiskstore set 100. have put 150 elements in cache. when query memorystoresize , diskstoresize 138 , 15. not understand sizes returned. can please explain why so??

i found reason memorystoresize > maxelementsinmemory here. when size of memorystore has been exceeded, further calls put() cause elements pushed overflow (disk spool) queue, flushed disk asynchronously using worker thread. disk spool queue 300mb default, , gets flushed when full (or @ shutdown, if cache persistent).

the call memorystoresize returns sum of elements in memorystore , in disk spool queue.

some elements may in queue , on disk @ same time, explains why 2 numbers not sum 150.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -