PHP로 사이트를 개발하고 있습니다. 사용자 세션이 시작되면 $ _SESSION var에 db 행을 모두로드합니다. 사용자가 db 값을 변경하면 $ _SESSION var도 업데이트됩니다.모든 세션에서 사용자 데이터의 일관성이 유지됩니다.
동일한 사용자에 대해 둘 이상의 세션이 활성화되어 있으면 문제가 발생합니다. 데이터베이스에 과부하가 걸리지 않고 같은 사용자의 모든 세션에 대한 데이터를 업데이트 할 수 있습니까? 아니면, PHP가 동일한 사용자에게 속한 모든 세션에 대해 동일한 세션 파일을 사용하도록하는 방법이 있습니까? 또는 세션이 계속 될 때마다 db를 쿼리해야합니다.
또 다른 딜레마가 있습니다. 가치가 있습니까? 내 말은,이 메커니즘이 서버 부하를 줄일 수있는 방법을 모르고,이 메커니즘이 파일 기반 세션에 적용되는지 또는 다른 세션 저장 유형을 사용해야하는지 여부를 알지 못합니다.
이 질문은 다소 번만하여 this other question on mine과 관련이 있습니다 (이 문제를 해결하려면 간단히 모든 세션 파일을 삭제하는 것이지만).
데이터가 DB에있는 경우 매번 세션을 통해 데이터를 전송할 필요가 없습니다. 세션에 저장된 로그인 한 사용자 만 필요합니다. 예를 들어 사용자가 로그인되어 있고 자신의 user_id와 관련된 아바타 또는 기타 항목을 업데이트한다고 가정 해 봅시다. 왜 당신이 $ _SESSION에 $ row [ 'avatar']를 저장해야할까요? 언제든지 액세스 할 수 있습니다. ''SELECT avatar FROM users where user_id = $ _SESSION [ 'user_id'] "' –
@RoyalBg 어쨌든 데이터를 유지한다면 데이타베이스를 호출하면 – djot
정확히 @RoyalBg를 읽습니다. 'user_id'를 사용하여 db에서 evrything을 업데이트 한 다음 전자 메일이나 사용자 이름을 업데이트해야하고 db로 업데이트 한 다음 다시 업데이트해야합니다 업데이트 된 이메일 또는 사용자 이름을 세션에 저장하십시오. –