Cachemere has the advantage of automatically updating the cache in memory 
when files change on the file system.
Another huge advantage is that you can specify optional preprocessors to 
apply custom transformations to various files and will compress/gzip the 
results by default.

Basically, when a file which is cached changes on disk, its content will be 
passed through your preprocessor function and gzipped and then that gzipped 
content will be cached - Cachemere will also keep an uncompressed copy of 
files in cache to cater for clients which do not support GZIP.
So when a client which supports GZIP (which is almost all of them) requests 
a file which is in cache, Cachemere will serve back the fully prepared, 
gzipped content (it won't have to gzip every time thus sparing the CPU).

Cachemere automatically sets ETag headers to facilitate client cache. So 
effectively Cachemere will only serve
a file's content to any given client once (unless that client/browser 
clears their cache).
ETags are based on the actual preprocessed/gzipped content (not on 
timestamps or inode ids) so it scales well across multiple servers.

Finally, Cachemere sits really well with any existing code that you may 
already have - It doesn't introduce its own routing logic or take over 
control
of your http res object - You have full control at all stages of the 
request-response cycle.

On Friday, November 22, 2013 11:14:43 AM UTC+11, Mikeal Rogers wrote:
>
> You might want to have a look at jaws
>
> https://github.com/mikeal/jaws<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fmikeal%2Fjaws&sa=D&sntz=1&usg=AFQjCNFV4458hYSINVyS2468wdgEOOIHVA>
>
> You also probably want to start storing this stuff in isaacs' LRU.
>
> https://github.com/isaacs/node-lru-cache<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fisaacs%2Fnode-lru-cache&sa=D&sntz=1&usg=AFQjCNHRRfN79JK5WL5TYdP8_orAYh5gEQ>
>
> -Mikeal
>
> On Nov 21, 2013, at 3:06PM, Jon <[email protected] <javascript:>> wrote:
>
> This is a tool I wrote which helps create efficient Node.js file servers 
> and it also offers an auto-updating cache layer.
> It caches preprocessed, gzipped file contents and also handles ETags by 
> default for client-side caching.
> It automatically updates the preprocessed, gzipped content whenever a 
> cached file changes on the file system so you don't have to manually 
> invalidate the cache or wait for a timeout.
>
> Looking for feedback and contributors.
>
> https://github.com/topcloud/cachemere<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Ftopcloud%2Fcachemere&sa=D&sntz=1&usg=AFQjCNGlNVl1cvga2HXdQYRyEP8Z-515Ag>
>
> -- 
> -- 
> Job Board: 
> http://jobs.nodejs.org/<http://www.google.com/url?q=http%3A%2F%2Fjobs.nodejs.org%2F&sa=D&sntz=1&usg=AFQjCNE-4iYDXAHW4qPQS88cJKbDd48aVA>
> Posting guidelines: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fjoyent%2Fnode%2Fwiki%2FMailing-List-Posting-Guidelines&sa=D&sntz=1&usg=AFQjCNFxY8BMLEzAhSA1x_4vv-P8c4pTOQ>
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected] <javascript:>
> To unsubscribe from this group, send email to
> [email protected] <javascript:>
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to