2011-09-07 3 views
1

swalif.com에는 포럼을 기반으로하는 뉴스 웹 사이트와 같은 웹 사이트가 있습니다. 우리는 현재 mysql 데이터베이스를 사용하고 있으며 상황이 점점 느려지고 있습니다. 우리는 스피드 업을 위해 Sphinx Search Server를 사용하기로 결정했으며 조용하게 잘 진행되었습니다.Memcached - 찬반론과 단점

최근에 우리는 'memcached'라고하는 것을 들었습니다. 검색 서버로 완전히 이동하기 전에 살펴 봐야한다고 생각합니다.

제 질문은 'memcached'를 사용하는 것이 장단점입니다. 당신에게 감사 해

+0

누가 이것을 아래로 화살을 썼습니까? 그건 합리적인 질문이야, 안 그래? – Landon

+0

@ Landon - 아마 늦은 밤에 일하는 일부 혼란스러운 프로그래머. –

+0

이므 란, memcached에 대해 더 궁금한 것이 있습니까? – Landon

답변

4

난 그냥 내 몇 달 전 memcached를 사용하여 설정 사이트와는 놀라운되었다. 찬성은 오히려 분명합니다. 아마도 수집하기 어려운 정보를 캐시하는 데 사용될 수 있습니다. 가장 좋은 예는 값 비싼 mysql 쿼리입니다. 느린 쿼리 로그를 확인하십시오. 그러면 목표를 달성 할 부분에 대한 좋은 출발점이됩니다. 나는 2.5 초 서버에서 울리는 데 걸린이 하나의 메인 페이지를 가졌다. (나는 끔찍하다.) 나는 그것이 쓰여지는 방식을 바꾸는 것에 대해 생각해 보았고 매우 복잡했을 것이다. 나는 그 페이지의 "어려운"부분에 memcached를 넣었으며 이제는 구문 분석하는데 0.001 초가 걸렸습니다. 놀랍습니다.

내가 겪었던 주된 사기가 하나 있습니다. 콘텐츠를 업데이트하는 경우 프런트 엔드에서 데이터를 다시 가져 와서 새 데이터를 캐시 할 수 있도록 해당 새 콘텐츠와 관련된 모든 관련 키를 삭제해야합니다. 그렇지 않은 경우 부실 콘텐츠가 표시됩니다. 나는 memcached에 수만 개의 항목을 가지고 있으며 적절한 모든 항목을 삭제하는 것은 어렵습니다. 그렇지 않으면 오래된 콘텐츠가 생깁니다. 한 가지 해결책은 키 만료 기간을 짧은 시간 (24 시간)으로 설정하는 것입니다. 그렇게하면 변경 후 24 시간 이내에 최악의 경우 최신 콘텐츠가 사이트에 반영됩니다. 그래서 당신이 그걸로 살아갈 수 있다면,이 문제는 다소 부적절합니다.

결론은 필자가 본 최고의 도구 중 하나입니다. 제 큰 사이트의 라이온스 지분에 설치하는 데 하루가 걸리지 않았습니다. 그 영향은 엄청났습니다.