You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-users@jakarta.apache.org by Tim Cronin <tc...@interwoven.com> on 2007/02/14 16:48:11 UTC

compression plugin

is there any mechanism for plugging in compression for the memory cache?

that is be able to compress the values stored in the cache?

---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org


Re: compression plugin

Posted by Aaron Smuts <as...@yahoo.com>.
No but that would be dirt simple.  I'd just create a
utility that would gzip string value on put and unzip
it when you get an item.  This would only help if the
items were very large and not frequently accessed.  If
you access them a lot, the CPU costs may not be worth
it.  If you don't access them much, then you might as
well put them in a disk only region.   In that case,
compression might make access a bit faster if the
items were very big.  It would also save disk space,
etc . . . .  But this is pretty special case.

For example, I cache compressed XML that would be
several megabytes as a string.  One application I'm
working on has a partitioned distributed remote cache 
backed by the myslql disk cache.  There are 4
partitions, each with 2 servers, a primary and a
failover remote server in cluster mode.  Hence 8
machines running the remote server and mysql.  (Each
partition is a different region in the cache.ccf
configured to use a different remote auxiliary.  The
key is numeric.  We determine the partition by taking
the modulus of the key and the number of partitions.) 


The data only lives a short time (30 minutes), but
there is lots of it: ~12 GB's every 30 minutes
compressed.  There is no way I could cache this data
as Strings or serialized objects.  Basically, I'm
caching the response from a downstream service.  My
service returns part and clients of my service can
request additional results from a previous query. 
This requires going to the cache, getting the
compressed XML, unmarshalling it, etc.  

I have a simpler app that has only 1 node (2 remote
servers in cluster mode).  It handles 12 million small
puts and about the same gets a day.  Here the Items
are 1 to 3k.  They are serialized objects, not
compressed XML.  I didn't have to make the same
tradeoffs here. . . . 

Aaron


--- Tim Cronin <tc...@interwoven.com> wrote:

> is there any mechanism for plugging in compression
> for the memory cache?
> 
> that is be able to compress the values stored in the
> cache?
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> jcs-users-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> jcs-users-help@jakarta.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-users-help@jakarta.apache.org