2011-03-30 4 views
2

인사말, 나는, PHP 클래스 또는 session_set_save_handler()MySQL 데이터베이스에서 PHP 세션을 저장하는 방법

너무 많은 방문자가 있습니다에 대한 기능의 목록이 필요합니다.

P. Memcached는 내 호스팅에 설치되어 있지 않기 때문에 사용할 수 없습니다.

+0

나는 * question *을 보지 못한다 : -S – jensgram

+1

[MySQL의 * MEMORY * 스토리지 엔진] (http://dev.mysql.com/doc/refman/5.5/en/memory-storage -engine.html). – Gumbo

답변

2

여기에있는 사람들은 MySQL 세션 처리기 전체를 ​​작성하지 않을 가능성이 큽니다. 하지만 어쨌든 최상의 솔루션이 아닐 수도 있습니다.

정말 빠른 것이 필요합니까? 그러면 대답은 Memcached입니다. 다른 해결책은 클라이언트 측 데이터를 서명 된 쿠키에 저장하는 것입니다. 암호화 서명은 사용자가 쿠키 데이터를 조작 할 수 없도록합니다. 그러나 그것은 여전히 ​​필요한 대역폭을 증가시킬 것입니다.


memcached와 솔루션의 경우, 단순히 memcached extension from PECL를 설치 한 다음 코드에서 memcached를 세션 핸들러 가능 :

ini_set('session.save_handler', 'memcache'); 
ini_set('session.save_path', '...'); 

하는 참조 예를 http://www.ducea.com/2009/06/02/php-sessions-in-memcached/을 "저장 경로"로 사용합니다.

+1

Memcache와의 세션 저장을위한 +1. AFAIK, php.net/session_set_save_handler에는 MySQL에 저장하는 방법에 대한 예제 코드가 있습니다. Google이 작동하게되면 수많은 예제가 있습니다. :) –

+0

괜찮 았지만 이전에는 그 코드로 작업하지 않았습니다. 좋은 매뉴얼에 대한 링크를 주거나, 저에게 예제를 줄 수있는 누군가가있을 수도 있습니다. – Valkasar

+0

코드를 작성하라고 요청하지 않았습니다. 링크를주세요. – Valkasar

0

많은 속도를 찾고 하드웨어에 실제로 액세스 할 수 있다면 메모리 캐싱을 살펴볼 수 있습니다. Memcached는 꽤 떨어져서 세션에 사용할 수 있습니다.

관련 문제