는 가장 좋은 방법은 무엇입을 처리에 대한 세션 PHP 사이트에서 여러 호스트?[마감]

StackOverflow https://stackoverflow.com/questions/76712

문제

PHP 저장소의 세션 정보의 파일 시스템에서 서버의 호스트 설정하는 세션이 있습니다.에서 여러 호스트는 PHP 환경 부하가 unintelligently 이 각 호스트,PHP 세션 변수를 사용할 수 없습 각 요청(지 않는 한해서 기회를 요청 할당되는 동일한 호스트--가정하에 우리는 통제가 없 load balancer).

이 사이트,"더빙 히치하이커 가이드 PHP Load Balancing" 건 재정의 PHPs 세션을 처리기와 세션 정보를 저장하는에서 공유 데이터베이스입니다.

무엇을,당신의 겸손한 의견의 을 유지하는 방법에서 세션 정보는 여러 PHP 호스트 환경은?

업데이트: 감사에 대한 좋은 지적 감사합니다.을 찾는 사람을위한 예제 코드,우리가 발견 유용한 튜토리얼에서 작성 Session Manager 클래스 MySQL 는 내 체크 아웃하는 것이 좋습니다.

도움이 되었습니까?

해결책

데이터베이스,또는 데이터베이스+Memcache.일반적으로 말하자면 세션해야에 기록되지 않을 매우 많습니다.시작과 함께하는 데이터베이스 솔루션을 기록하여 컴퓨터바이러스에 의 경우 세션 데이터는 변경.Memcache 해야 나중에 추가로 성능 향상.Db 솔루션을 매우 빠르게 될 것입니다 때문에 당신은 이제까지 보고 기본 키가 있습니다.는지 확인 db 는 행 잠금,하지 테이블 잠금(myISAM).MemCache 만은 나쁜 생각...넘치는 경우,충돌,또는 다시 시작한 사용자가 기록됩니다.

다른 팁

무엇을 하든지 그것을 저장하는 서버 자체에서(경우에도 당신만을 사용하여 한 서버에서,또는 1+1 장애 조치는 시나리오).그것은 당신을 넣어 죽.

말 것,데이터베이스를 사용+Memcache 저장/검색,그것은 당신을 유지 젠드의 이해(나를 믿는 것들이 나누 어떤 지점에서와 젠).할 수 있기 때문에 쉽게 파티션에 의해 사용자 Id 또는 SessionID 도로 MySQL 이 떠날 것은 확장성을 보장할 수 있습니다.

(편집:또한 것으로 DB+Memcache 에 당신을 결합하지 않 comercial 자,그것은 당신을 결합하지 않 PHP 중 하나가 될 수도 있습 행복해 다운로드)

저장 세션에서 데이터를 공유 db 작동,하지만 속도가 느려질 수 있습니다.면 그것은 정말 큰 사이트 memcache 아마도 더 나은 옵션입니다.

에 따라 프로젝트의 예산은,다음과 같은 것도 고려할 수 있습니다 젠드 플랫폼에 대한 귀사의 생산,기계뿐만 아니라 무리의 다른 훌륭한 기능,다운로드 기능을 포함한 세션 클러스터링,작동하는 같은 종류의 CDN 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top