내가 작업하고있는 프로젝트에서 데이터베이스 백엔드가있는 일종의 콜렉션 인 오브젝트가 있습니다. 이 콜렉션이 리턴하는 정확한 결과는 구성에 따라 다르며, 이는 사용자 입력의 수에 따라 달라집니다. 컬렉션의 레코드를 포함하는 페이지의 요소를 AJAX 요청을 통해 동적으로 업데이트 할 수 있습니다. 아이디어는 나를 serialize()
이 개체에 발생했습니다 memcache에 저장하고 내 AJAX 호출에 매개 변수로 memcache 키를 포함합니다. 그런 다음 memcahce에서 문자열 unserialize()
을 검색하고 컬렉션에서 다음 레코드 집합을 검색합니다.serialize()를 사용하여 여러 요청에서 객체를 유지하는 것이 좋습니다?
이 작업을 수행하려는 오브젝트 지속성의 종류를 얻는 좋은 방법입니까? 그냥 구성을 저장하는 것을 고려했지만, 사용자 컨트롤에 대한 미래의 변화에 직면하여 더 나은 "설정하고 잊어 버리는"솔루션이라고 생각합니다. 필자가 가장 염려하는 점은 serialize로 인해이 솔루션이 견고하고 신뢰할 수 없으며 매우 빠르지 않다는 것을 알지 못하는 일부 함정이있을 수 있다는 것입니다. 그 점에 대해 우려해야합니까?
훌륭한 조언을 주셔서 감사합니다. 객체에는 순환 참조가 없으며 현재 구현에서는 닫아야 할 리소스를 사용하지 않습니다. –
@Mark 순환 참조를 사용하여 비정상적인 동작을 재현 할 수 없습니다. http://codepad.viper-7.com/LtLpkt를 참조하십시오. – Artefacto
그래프를 직렬화 해제 할 때 정의를 사용할 수 있어야합니다. – Artefacto