Memcached on apache2&php

Őszintén szólva eddig féltem a témától, mint a tűztől. Plusz egy különálló process, kitudja mennyire stabil, ha leáll gáz van és stb. Aztán most, hogy az egyik projektben a munkaadóm már hetek óta hajtogatta, hogy szükség lesz rá, mert gyorsabb, mint a HDD-s cache úgy döntöttem, hogy szabad óráimban felteszek egy linuxot vm-be és próbálkozok.

memcached

Felvetődhet a kérdés, hogy miért is jó ez. Egyszerűen szólva a  Memcache nagy előnye, hogy közvetlenül a memóriában tárolja az adatokat, ami a lehető leggyorsabb módszer az adatok elérésére – írására és olvasására.

 

Tehát az alábbi néhány egyszerű lépéssel végeztem el a telepítést:

apt-get install memcached

Telepítés után megnyitjuk a konfigurációt és megnöveljük a használható megabájtokat. 128 helyett lehet több és kevesebb is, én például 256-ot állítottam be:
nano /etc/memcached.conf

-m 64 sort írjuk át erre: -m 128

Aztán memcache újraindítás:
service memcached restart

php5-be “beépítjük” a memcache-t:
apt-get install php5-memcached

Apacs’ restart és készen is vagyunk:
service apache2 restart

 

Aztán egy php fileba toljuk be ezt:

<?php
$mc = new Memcached();
$mc->addServer(“127.0.0.1”, 11211);

$mc->set(“testkey”, “Mindenki örül, működik a memcache! :)”);
print $mc->get(“testkey”);

 

Ha futtatás után azt látjuk a képernyőn, hogy “Mindenki örül, működik a memcache! :)” akkor már végeztünk is.

A mellékelt kódsorok alapján láthatjuk, hogy OOP szintű a dolog, set-get a beírás és kiolvasás. Kulcs-értékpárokkal dolgozunk, tehát a key az lényegében a kulcs, azonosító – a set második paramétere (value) pedig maga a felvitt adat.

Fontos még megjegyeznem, hogy vannak esetek amikor szeretnénk, hogy egy felvitt adat egy idő után lejárjon. Először ezt manuálisan akartam megoldani, így hosszasan keresgéltem modify/set date után unix időben, de aztán rájöttem, hogy a megoldás sokkal egyszerűbb: a set metódus harmadik paramétere egy integer, ami default 0 – ez állítja be az adat timeout-ját. Tehát ha beállítunk egy >0 értéket akkor a rögzített adat annyi ideig lesz érvényes, utána automatikusan megsemmisül. Így a szemétgyűjtést nem valós időben kell végeznünk, mint a file szintű cache-nél, kódunk ezért is gyorsabb lesz (hurrá!).

 

Memcache admin/stat felület

Jó kis statisztikás app készült hozzá, amit elég kicsomagolnunk és bemásolnunk valahova, majd böngészőben a szerverről megnyitni. Letölthető innen!

NTFS partíció csatolása debian renszerbe

ntfs-1Szenvedtem vele egy sort, amikor ezzel a módszerrel próbálkoztam:

mount /dev/sdxy  /mnt/akarmi

 

Működni működik, lehet olvasni a meghajtót. De aztán szükség esetén kiderül, hogy csak olvasásra csatolódik fel az ntfs meghajtó. Ahhoz, hogy tudjuk írni – kell egy kicsit maszekolni is.

Első körben, egyszeri alkalommal toljuk fel az ntfs-3g csomagot

apt-get install ntfs-3g

aztán:

mount -t ntfs-3g /dev/sdxy   /mnt/akarmi