0

memcache과 함께 작업해야하는 데이터 저장소 프로젝트에서 작업하고 있습니다. 하지만 전에 결코 memcache을 사용하지 않았기 때문에 나는 혼란 스럽습니다. 나는 this 링크를 따라 갔고 memcache에서 성공적으로 값을 저장하고 검색했다. 난 단지 사용자의 세부 사항을 얻고 memcache로 저장하고자 할 때 memcache에 저장된 데이터 저장소의 데이터를 업데이트하는 방법은 무엇입니까?

$memcache = new Memcache; 
return $memcache->get($key); 

$memcache = new Memcache; 
$value = $request->getContent(); 
return $memcache->set($key, $value); 

그래서이 나를 위해 충분하다. 그러나 문제는 memcache의 값을 데이터베이스에 삽입하는 것입니다. 아무도 내가 어떻게 접근해야하는지 안내 해줄 수 있습니까? 로그 파일을 만들 때 memcache에 사용자의 편집 내용을 저장해야하는지, 아니면 모든 변경 사항을 먼저 데이터 저장소에 저장해야합니까? 아니면 나중에 변경 가능한 다른 해결책이 있습니까? 도와주세요.

+2

memcached에 대해 더 자세히 알아보십시오. memcache가 보장 할 수 없기 때문에 데이터 저장소에 즉시 저장하지 않는 것이 좋을 것입니다. 따라서 데이터가 손실 될 수 있으며 이는 설계 상입니다. –

+0

안녕하세요 @ ZigMandel, 실제로 데이터를 업데이트하거나 삽입하기 위해 자주 호출하는 API를 저장하고 싶었습니다. 어느 것이 비용 효과적 일지 나는 생각한다. 내 시스템 비용을 효과적으로 만들려면 어떻게해야합니까? – MKB

+1

예 memcached에서 커밋을 유지할 수 있지만 초당 여러 번 커밋하지 않는 한 도움이되지 않습니다. 그것은 가능하지만 당신이 그것을 할 때 아주 잘 생각할 필요가 있습니다. 확실히 "로그 아웃"하지 말아라. –

답변

1

"memcache에서 데이터베이스로 데이터 삽입"이라고 생각하지 마십시오. 특별히이 항목은 없습니다. 방금 memcache에서 검색 한 데이터를 데이터베이스에 삽입하는 것입니다 (일반적인 방식으로).

+0

안녕하세요 @ Dan ... 데이터베이스에 데이터를 쓰는 API 호출을 줄이기 위해 붙어 있습니다. 예를 들어, 정보를 가져와 사용자의 요청에 따라 업데이트해야하는 사용자 엔티티가 있습니다. 그러나 사용자가 하나의 필드까지 업데이트 할 때마다 데이터 저장소에 요청합니다. 어떻게 막아야합니까? – MKB

+0

은 질문에 답하지 못하는 것 같습니다. (대답이 아닌 댓글에 대한 좋은 팁입니다) –

+1

@MKB : ** 데이터 저장소에 ** 쓰기 ** 용 버퍼로 memcache를 사용하지 마십시오. memcache 정보는 언제든지 사라질 수 있으며 결국에는 memcache 정보가 트랜잭션으로 보호되지 않습니다. –