
Każdy komu przyszło w udziale tworzenie serwisu o dużej oglądalności wie czym jest memcached, kto jeszcze nie wie, temu dedykuję ten post.
Memcached do system pamięci podręcznej. Stworzony w 2003 roku dla LiveJournal przez Danga Interactive. Z powodu swojej wysokiej wydajności, skalowalności i banalnej implementacji stał się powszechnie używany. Dowodem na to są giganci, którzy go używają, m.in. Facebook, YouTube, Wikipedia i wielu innych.
Pamiętać jednak należy, że mimo swoich zalet jest to nadal system pamięci podręcznej, a więc ulotnej. Nie można go traktować jak trwałego systemu składowania danych.
Instalacja usługi
Memcached początkowo dostępny był jedynie pod Linuksa, obecnie działa w większości systemów. Ja opiszę w jaki sposób zainstalować go na Mac OS X Leopard Snow.
1. Zakładam, że skoro czytasz tego posta to jesteś deweloperem i masz zainstalowany Xcode Tools, jeżeli nie to zrób to, bo będzie potrzebny kompilator (gcc). Wymagany jest również przez instalator macports. Xcode można pobrać z Apple Developer Center.
2. Źródła memcached dostępne są w projekcie MacPorts. Jeżeli jeszcze nie masz go zainstalowanego zrób to. Instalator znajdziesz tutaj.
3. Znajdź i zainstaluj źródła memcached
memcached @1.4.5 (sysutils)
A high performance, distributed memory object caching system.
Memcached wymaga róweniż instalacji libevent, jeżeli w Twoim systemie jeszcze go nie ma instalator macports poradzi sobie sam.
$ memcached -d -m 32 -l 127.0.0.1 -p 11211 &
Gotowe. Memcached działa jako usługa, może wykorzystać max 32 MB ramu, słucha lokalnie na porcie 11211.
5. Pozostaje jeszcze sprawdzić czy działa:
Instalacja rozszerzenia PHP (memcache.so)
Standardowa paczka XAMPP nie zawiera tego rozszerzenia i kod:
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
1. Pobierz źródła z repozytorium PECL (http://pecl.php.net/package/memcache)
$ phpize
Jeżeli dostajesz błąd:
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
5. Skompiluj kod
6. Przenieś skompilowaną bibliotekę do katalogu z rozszerzeniami PHP.
$php -i | grep extension_dir
$ sudo cp memcache.so /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/
7. Uruchom bibliotekę w php.ini dopisując linijkę:
8. Apache restart i gotowe!
To znaczy, że źle ustawiłeś flagę architektury procesora. Wróć do punktu 4.
Powodzenia!
