{"id":166,"date":"2017-05-19T10:55:06","date_gmt":"2017-05-19T08:55:06","guid":{"rendered":"http:\/\/carsten.familie-schumann.info\/blog\/?page_id=166"},"modified":"2017-05-19T10:55:06","modified_gmt":"2017-05-19T08:55:06","slug":"symfony-cache-im-ram","status":"publish","type":"page","link":"https:\/\/carsten.familie-schumann.info\/blog\/symfony-cache-im-ram\/","title":{"rendered":"Symfony Cache im RAM"},"content":{"rendered":"<p>Symfony ist sp\u00e4testens seit Version 2.6 ein ziemlich cooles Web-Framework, das so ziemlich alles mitbringt, um unter PHP seine Webseiten zu entwickeln. Leider hat es auch ein geh\u00f6riges Manko: Es werden Unmengen an Cache-Dateien angelegt, die vorzugsweise den Ordner vollm\u00fcllen, die Webseite (bei V-Servern) ziemlich runterbremsen und nebenbei noch bei Backups die Archive aufbl\u00e4hen. Die Sch\u00f6pfer von Symfony haben das auch erkannt und seit Version 2.6 die M\u00f6glichkeit geschaffen, bestimmte Verzeichnisse zu verlegen.<\/p>\n<p>Welche Verzeichnisse sind \u00fcberhaupt betroffen? Prim\u00e4r geht es um das Cache-Verzeichnis unter <code>project\/var\/cache<\/code>. Zus\u00e4tzlich m\u00f6chte man in der DEV-Umgebung unter Umst\u00e4nden noch die Log-Dateien nicht mehr unter <code>project\/var\/logs<\/code> haben. Praktischerweise l\u00e4sst sich das ganze mit wenigen Zeilen realisieren.<\/p>\n<p>Aber wohin mit den Dateien? In ein anderes Verzeichnis? Nach <code>\/tmp<\/code>? Viele V-Server Hoster wie beispielsweise <a href=\"http:\/\/www.contabo.de\" target=\"_blank\">Contabo<\/a> bieten bei ihren Servern exorbitant gro\u00dfe Mengen RAM mit an. Meine Kiste hat beispielsweise 14GB RAM. Mit den \u00fcblichen Hausmitteln (Apache, MySQL, Exim, &#8230;) bleiben immer noch ca. 10GB \u00fcbrig. Warum also nicht in den RAM damit?<\/p>\n<p>Hierzu muss man die <code>project\/app\/AppKernel.php<\/code> ein wenig anpassen. Irgendwo findet man in der Datei die Codezeilen<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n    public function getCacheDir()\r\n    {\r\n        return dirname(__DIR__).'\/var\/cache\/'.$this-&gt;getEnvironment();\r\n    }\r\n\r\n    public function getLogDir()\r\n    {\r\n        return dirname(__DIR__).'\/var\/logs';\r\n    }\r\n<\/pre>\n<p>wenn man diese nun anpasst und nach <code>\/dev\/shm<\/code> legt, ergibt sich:<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n    public function getCacheDir()\r\n    {\r\n        return '\/dev\/shm\/projektname\/cache\/' .  $this-&gt;environment;\r\n    }\r\n\r\n    public function getLogDir()\r\n    {\r\n        return '\/dev\/shm\/projektname\/logs';\r\n    }\r\n<\/pre>\n<p>Fertig!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Symfony ist sp\u00e4testens seit Version 2.6 ein ziemlich cooles Web-Framework, das so ziemlich alles mitbringt, um unter PHP seine Webseiten zu entwickeln. Leider hat es auch ein geh\u00f6riges Manko: Es werden Unmengen an Cache-Dateien angelegt, die vorzugsweise den Ordner vollm\u00fcllen, die Webseite (bei V-Servern) ziemlich runterbremsen und nebenbei noch bei Backups die Archive aufbl\u00e4hen. Die&#8230;<br \/><a class=\"read-more-button\" href=\"https:\/\/carsten.familie-schumann.info\/blog\/symfony-cache-im-ram\/\">Mehr Lesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-166","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/pages\/166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":2,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/pages\/166\/revisions"}],"predecessor-version":[{"id":168,"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/pages\/166\/revisions\/168"}],"wp:attachment":[{"href":"https:\/\/carsten.familie-schumann.info\/blog\/wp-json\/wp\/v2\/media?parent=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}