[Zope-PAS] PAS Caching

Jean-Marc Orliaguet jmo at ita.chalmers.se
Mon Nov 8 04:35:09 EST 2004


Chris McDonough wrote:

>On Mon, 2004-11-08 at 09:24 +0100, Jens Vagelpohl wrote:
>  
>
>>One of the reasons I did not want to touch RAMCacheManager itself is 
>>simply the fact that I didn't want to tell the customer to run some CVS 
>>checkout of Zope in order to make this work. Your argument is perfectly 
>>valid otherwise. What I'll do is indeed change RAMCacheManager and 
>>apply the "enhancements" there. If the customer does not want to use a 
>>CVS checkout I'll build a monkeypatch product.
>>    
>>
>
>Maybe just create a BetterRAMCacheManager product?
>  
>

My experience with RAMCacheManager is that it is easier to write a 
simpler RAM Cache class than to try to configure / hack into the 
existing one because it is basically not granular enough and it uses a 
cache mechanism that is not necessarily adapted to the application's needs.

For instance it knows nothing about the internal structure of the cached 
objects, and the business logic associated. Also the way the aggregated 
cache index is computed forces you to cache many more objects than it is 
required in reality.

In the end I am using a simple RAM cache module to read and write in 
RAM, and the actual cache management part is embedded in the application 
code (lazy invalidation, event-based invalidation, ...) which 
RAMCacheManger was not designed to handle..

http://cvs.nuxeo.org/cgi-bin/viewcvs.cgi/*checkout*/CPS3/CPSPortlets/PortletRAMCache.py?rev=1.1&content-type=text/plain

 
Regards /JM




More information about the Zope-PAS mailing list