5 백만 개의 키 - 값 쌍을 저장하기 위해 PHP 응용 프로그램과 함께 memcached를 사용할 것을 고려하고 있습니다. 내 목표는 DB에서 앞뒤로 피하는 것입니다 (필자의 경우 파일 시스템). 키 - 값에 초당 100-500 건의 액세스가있을 수 있습니다. 키 - 값은 모두 MD5의 양식에 있습니다memcached에 백만 개의 키 - 값 저장 - 좋은 아이디어 또는 나쁜 아이디어?
array('MD5X' => 'MD5Y', ...)
나는 데이터가 저장되는 방법을 잘 모르겠지만, 우리는 5 million * 16 bytes (keys) + 5 million * 16 bytes (values)
를 곱하면 우리는 ~ 1백80메가바이트를 얻을.
:
데이터 세트가 고정되어그래서 나는 단지 그것을 읽을 것이다 (EDIT 나는 모든 항목을 저장하는 750메가바이트을 사용 겠다는 memcached를 인스턴스와 시도 후.).
질문 :
- 이 좋은 또는 나쁜 디자인인가?
- memcached를 강제로 (서버가 중단되지 않는 한) 강제로 데이터를 다시로드해야합니까? 메모리 캡이 저장된 데이터보다 높다고 가정하십시오. 그렇지 않은 경우 어떤 기술을 사용하여 동일한 목표를 달성 할 수 있습니다.
감사합니다.
특정 사용 사례에 대한 성능 프로파일을 제공해야합니다. 또는 캐싱이 내장 된 실제 DB를 사용하는 것이 좋습니다. 단일 배열을 저장하는 경우 전체 배열을 조사하지 않아도됩니까? –
감사합니다. @PaulCollingwood, 불행히도 DB를 사용할 수 없습니다. 환호 – JoeSlav