Doctrine2 Cache types
Doctrine2 common komt met een aantal cache mechanismen:
ApcCache
ArrayCache (voor development omgevingen)
MemcacheCache
XcacheCache
Uiteraard is er niets mis met dit lijstje maar ik vraag me eigenlijk af waarom file based caching expliciet niet geimplementeerd is? Waarom zou je file based niet willen cachen?
Mochten daar geen sterke argumenten voor zijn dan ben ik van plan om een ZendCache 'adapter' te maken, een library die gebruik maakt van Zend_Cache om file based the cachen.
Ik ben weleens benieuwd wat soort mechanismen jullie gebruiken en vooral waarom :)
Uit een grijs verleden .
Ik denk dat je dit wel aan de praat zou moeten kunnen krijgen.
Toevoeging op 15/09/2011 08:59:56:
Waarom een file cache geen goed idee is, is misschien meer een vraag voor de user mailing-list
Ik denk dat je dit wel aan de praat zou moeten kunnen krijgen.
Toevoeging op 15/09/2011 08:59:56:
Waarom een file cache geen goed idee is, is misschien meer een vraag voor de user mailing-list
Gewijzigd op 15/09/2011 08:56:15 door Pim -
Ik denk omdat file-io relatief traag is, en met een cache op een trage schijf niet zoveel winst boekt. (Op shmfs of een ssd heeft het al meer effect, maar dan kan je al beter voor memcache gaan)
Maar als je de metadata uit een bestand met een native array moet halen ipv bij al je entities de annotations moet parsen lijkt me dat een behoorlijke winst. Volgens maakt mijn niet-werkende implementatie van hierboven gebruik van slechts 1 file (iig is dat mogelijk). Dat valt dan toch in het niet bij het laden van vele php files?
Maargoed, Memcache heeft natuurlijk als voordeel wel dat je als je loadbalancing gebruikt met meerdere servers dat je gebruik kan maken van 1 cache net zoals met sessies etc. Dat wordt op file basis wel wat lastiger, dan moet je een share over het netwerk maken en wordt het weer traag.
Net wat Jelmer zegt, file caching heeft wel grote voordelen denk ik als je met snellere schijven werkt wat bij de meeste servers wel van toepassing is.
Ik twijfel nog, als ik met file caching iets ga doen wordt het sowieso een aanvulling in de Pike library :)
Maar je hebt niet altijd de optie tot caches in RAM (shared hosting :( ). Een file cache is dan vele malen beter dan de arraycache.
Goed argument! Dankje nu heb ik redenen om het met Zend_Cache te maken :p
Succes ;-)