Częstym manewrem optymalizującym zużycie zasobów na serwerze jest przeniesienie sesji do memcache, wymaga to jedynie zainstalowania serwera memcached, modułu memcache do PHP i zmian w konfiguracji:
session.save_handler = "memcache"
session.save_path = "udp://127.0.0.1:11211?persistent=1"
przy tak skonfigurowanym php, wszystkie sesje będą znajdowały się w pamięci memcached.
Kolejny sukces optymalizacyjny za nami, niepokoi jedynie pytanie: “Co się dzieje w przypadku przepełnienia bufora memcached?”. Bufor taki nie będzie miał 500GB tak jak partycja dysku na którym trzymaliśmy sesje, tylko powiedzmy 128MB, a to znaczna różnica…
Zachowanie w przypadku przepełnienia bufora jest inne niż zachowanie w przypadku przepełnienia partycji na której przechowywaliśmy sesje w postaci plikowej. Teoretyczne scenariusze po wypełnieniu bufora to:
1). nowe dane nie będą zapisywane, aż nie zwolni się miejsce (z danych które zostaną skasowane po wygaśnięciu ich ważności, podobnie jak przy sesjach na dysku)
2). dane będą zapisywane w miejsce utworzonych najdawniej (dawne dane są oczywiście usuwane)
3). dane są zapisywane w miejsce danych najdawniej pobieranych (najstarszy dostęp)
Prawdziwym scenariuszem jest scenariusz “3″! Nowe dane nadpiszą te do których próbowaliśmy sie dostać najdawniej.