2012-03-12 2 views
2

텍스트 문자열 (이 경우 URL)을 저장, 색인 및 검색하는 가장 좋은 방법은 무엇입니까?REST API 용 URL 캐싱 시스템에 대한 가장 효율적인 조회

내 사이트 중 하나에 캐싱 시스템을 만들고 있습니다. 실제로는 그보다 약간 더 복잡합니다. 따라서 제가 내 자신을 압연하고있는 이유입니다. 나는 텍스트 문자열 인 URL에 대한 조회를 해결하는 가장 빠르고 효율적인 방법을 찾고 있습니다.

저는 현재 많은 백엔드에서 MySQL을 사용하고 있습니다. 분명히 URL과 해당 내용의 텍스트 필드로 테이블에 던져 넣을 수는 있지만 전체 텍스트 인덱싱을 켜기 만하면 느리게 느껴질 것입니다. 근본적으로 잘못된 것입니다. MySQL이든 다른 도구이든 내가보고 있어야 할 다른 것이 있습니까? 나는 URL을 MD5해야 하나?

mongodb에 대해 흥미로운 점을 들었지만 확실한 이유가 없습니다.

답변

1

Memcached - 모든 곳에서 쉽고 빠르게 찾을 수 있습니다. 나는 그것을 많이 사용한다.

+0

내가 memcached를 들여다 보았을 때 올바른 답을 주었지만 redis로 가기로 결정했습니다. 내 응용 프로그램은 장고로 작성되었으며 redis는 메모리에 상주하지 않고 디스크에 캐시를 덤프 할 수 있다는 점에서 영구적 인 것으로 보입니다. 이것은 API 호출을 캐싱하기위한 훌륭한 솔루션 인 것으로 보이며, 나는 정말 단순함을 좋아합니다. – dustin999

+0

고맙습니다. redis와 행운을 빈다. –

0

MongoDB는 캐싱 시스템이 아닌 데이터베이스입니다. MySQL과 MySQL 간의 속도 차이는 크지 않을 것입니다.

마찬가지로 D Mac 언급 memcached 훌륭한 선택입니다. 당신은 memcached가 진정한 캐싱 시스템이며 언제든지 데이터를 버릴 수 있다는 것을 알아야합니다. 당신은 그것을 처리 할 수 ​​있어야합니다.

좋은 타협안은 메모리 내 데이터베이스 인 redis이므로 memcached와 같이 데이터를 버리지는 않지만 MySQL 또는 MongoDB보다 훨씬 빠릅니다. redis의 유일한 단점은 전체 데이터 세트가 메모리에 적합해야한다는 것입니다.

질문에 많은 질문이 있지만 실제로 대답하는 내용이 많지 않으므로 답변을하기가 어렵습니다.