Memcached használata Windowson vagy Linuxon

Default book

A memcached olyan alkalmazás, amellyel PHP adatokat lehet tárolni memóriában a szerveren. Jól használható például SESSIONOK adatainak kezeléséhez. Telepítése:

A memcached-t eredetileg Linux alá fejlesztették, de van hozzá Win32 verzió is. Önálló szervízként fut majd a szerveren megfelelő jogosultságokkal.

Telepítése:

  • Töltsük le az alábbi oldalról a Win32-es memcache verziót: code.jellycan.com/memcached/
  • A letöltött 1 db memcache.exe alkalmazást másoljuk be valamilyen könyvtárba. Én a PHP alá tettem egy memcache nevű könyvtárba, mondjuk C:\PHP\memcached\memcached.exe
  • Installáljuk a memcache-et szervízként :c:\php\memcached\memcached.exe -d install
  • Indítsuk el a memceched alkalmazást c:\php\memcached\memcached.exe -d start vagy net start "memcached Server"
  • Töltsük le a php_memcached.dll modult az alábbi helyek egyikéről
  • Irjuk be a PHP.INI-be az alábbi extension bejegyzést és a session bejegyzéseket, ezáltal a sessonok a gépen automatikusan memóriában fognak tárolódni:
    extension=php_memcache.dll
    session.save_handler = memcache
    session.save_path= "127.0.0.1:112011"
    
  • Indítsuk újra az Apache-ot

    Megjegyzés: A fenti megoldás helyett használhatjuk a MEMBASE projektet, ami alkalmas arra, hogy pool-ban lévő szerverek egymással megosszák a session információkat, azaz a PHP alkalmas arra, hogy több szerveren megossza a webalkalmazás állapotát!
  • Alternatív megoldásként lehetőség van arra, hogy átírjuk a session kezelő algoritmust a PHP alkalmazásunkban, ha nem szeretnénk, hogy minden alkalmazás memcache-t használjon. Ekkor az alábbi linken lévő forráskódot ajánlom figyelmetekbe:http://www.softwareprojects.com/resources/programming/t-memcached-for-php-sessions-1654.html
  • Ha a memcache default 64MB memóriája kicsi lenne, akkor az alábbi módon lehet megváltoztanti:
    • HKLM/System/CurrentControlSet/Servicesmemcached Server kulcsnál az ImagePath bejegyzésben az kell beállítani a használt memória méretét. Például ha 512 MB cache-t akarsz használni, akkor.
      ?c:\php\memcached\memcached.exe" -d runservice -m 512

További információk a memcache-ről: