Caching in PHP - Status Quo

download Caching in PHP - Status Quo

If you can't read please download the document

description

Modern Caching in PHP

Transcript of Caching in PHP - Status Quo

  • 1. Caching in PHP Status Quo

2. Was ist ein Cache? Ein Cache ist eine Ablage fr Daten die mehrfach und mglichst schnell ausgelesen werden sollen. 3. Wer nutzt Caches? Frage: Wer nutzt Caches? Antwort: Wir alle! Direkt und indirekt. 4. Unser persnlicher Cache Das Gehirn Kurzzeitgedchtnis (Verfallszeit ca. 24 Stunden) Ultrakurzzeitgedchtnis (Verfallszeit 10 15 Sekunden) Langzeitgedchtnis (Theoretisch unbegrenzt) 5. Was ist ein Cache in der EDV? Cache bezeichnet in der EDV eine Methode, um Inhalte, die bereits einmal vorlagen, beim nchsten Zugriff schneller zur Verfgung zu stellen.Caches sind als Puffer-Speicherrealisiert, die Kopien zwischenspeichern. Sie knnen als Hardware- oder Softwarestruktur ausgebildet sein. Quelle: Wikipedia 6. Ein wenig Theorie gefllig? Cache Hit: Ein Element wurde im Cache gefunden. Cache Miss: Ein Element wurde nicht im Cache gefunden. Hit Rate: Cache Hits / Anzahl der Anfragen Miss Rate:1 Hit Rate 7. Vorteile und Nachteile

  • Bei hoher Hit Rate verbesserte Performance durch Einsparung von CPU Zeit fr die Neuberechnung und Einsparung von Arbeitsspeicher.

8. Mehr Last auf Servern mglich

  • Bei schlechter Hit Rate Verschlechterung der Performance.

9. Cache muss aktualisiert oder sogar neu aufgebaut werden 10. Zustzliche Steuerlogiken mssen in die Anwendung bernommen werden. 11. Wo werden Caches eingesetzt? 12. Ein einfaches PHP Beispiel 13. Betrachtung des Code Beispiels

  • Einfach aufgebaut

14. Schnell implementiert

  • Nicht wiederverwendbar

15. Unflexibel 16. Unstrukturiert 17. Moderne Cache Architektur

  • Aufteilung Programmlogik
  • Frontend Was wird wie lange gechached?

18. Backend Wie wird etwas persistiert Konfigurierbar (z.B. XML Datei) 19. Partielles Lschen mglich

  • Einfhrung eines Tag-Systems

20. Einfhrung einer individuellen Cachezeit fr einzelne Elemente 21. Aufbau der Zend_Cache Komponente 22. Gleiches Beispiel mit Zend_Cache 23. Gleiches Konzept in TYPO3 4.3 24. PHP Cache-Implementierung

  • Zend Frameworkhttp://framework.zend.com

25. FLOW3http://flow3.typo3.org(Backport ist in TYPO3 4.3 enthalten) 26. eZ Componentshttp://www.ezcomponents.org 27. CodeIgniterhttp://codeigniter.com(Output Cache, DB Cache) 28. Symfonyhttp://www.symfony-project.org(Einzelne Cache Klassen) 29. CakePHPhttp://cakephp.org 30. ZOOPhttp://zoopframework.com(Trennung ber Driver Klassen) 31. Pradohttp://www.pradosoft.com(Einzelne Cache Klassen) 32. Yiihttp://www.yiiframework.com(Einzelne Cache Klassen) 33. Danke! Kontakt : [email_address] http://blog.muench-worms.de http://twitter.com/cmuench https://www.xing.com/profile/Christian_Muench7