2012-02-03 3 views
1

내가 내 소셜 네트워킹 프로젝트에 PHP 및 Memcached가를 사용하여이 시나리오를 할 수있는 계획을 가지고 내가 틀렸다면, 저를 수정하시기 바랍니다 :소셜 네트워크 사이트에 대한 Memcached가 (나를 수정)

다른 모든 소셜 네트워킹 사이트와 같은 거기서, 대부분 사용자는 '쓰는'대신 데이터베이스 내용을 '읽습니다'. 권리?

그래서 나는 사용자 로그인 (생성 된 세션)과 같은 데이터베이스에서 모든 것을 '읽는'계획을 가지고 있습니다. 친구 수, 생일, 오늘 친구의 게시물 등이 Memcached 서버에 저장됩니다.

사용자가 로그 아웃하거나 '어제 친구의 소식'을 클릭하지 않는 한 사용자는 데이터베이스를 다시 읽지 않고 Memcached에서 모든 데이터를 읽습니다.

Gmail처럼 작동 할 수도 있지만 사용자가 계정에 로그인 할 때로드 바를 보게됩니다. 그러나 그들이 그것을 가지면, 모든 것이 더 빨리 달립니다.

이게 Memcached와 관련이 있습니까?

+0

로그인 한 상태에서 새로운 친구를 사면 어떻게됩니까? – Leigh

+0

나는 이것이 좋은 생각이라고 생각하지 않는다. memcached를 사용하는 것이 좋지만, 좋은 확장 성을 위해서는 확장 성 기능을 사용할 수있다. 더 나은 U 프레임 워크를 Yii http://www.yiiframework.com/과 같이 사용하고 확장 성 기능을 사용하십시오. –

+0

AkhilThayyil : 실마리를 가져 주셔서 감사 드리며, 그것에 대해 조사하겠습니다. –

답변

-2

2 개의 시스템 memcached는 키 값 noSQL 시스템과 memcache가 메모리 캐싱 시스템을 분산 시켰습니다. 난 당신의 응용 프로그램에 대해 당신이 읽을 때 아주 좋은 시스템처럼 noSQL을 봐야한다고 생각합니다. mongoDB를 사용해보십시오. mongoDB는 u를 도울 수있는 많은 좋은 기능을 제공합니다.

+0

나는이 mongoDB에 관해서 정말로 새로운 것이지만 나의 질문은 ... 나는 mongoDB로 MySQL을 대체해야 하는가? 또는 mongoDB는 읽기 전용으로 사용되지만, 전체 데이터베이스는 여전히 MySQL에 저장됩니다. –

+0

간단한 MySQL 또는 MongoDB 기반 설치로 시작하는 것이 좋습니다. 소셜 네트워크가 하루에 수백만 페이지 뷰에 도달하면 최적화 및로드 밸런싱에 대해 걱정할 것입니다. –

+0

질문에 대한 아이러닉 한 점은 과도한 데이터베이스로드에 대해 걱정하고 성능에 대해 걱정하지 만 여전히 PHP로 진행하는 것입니다 . PHP는 대규모 프로젝트를위한 최고의 언어가 아닙니다. 소셜 네트워크가 미친 듯이 성장할 것으로 기대한다면 Java 또는 C++로 작성하십시오. –

관련 문제