내 응용 프로그램에서 일부 텍스트의 형식으로 markdown을 선택했습니다. 분명히 텍스트를 파싱하는 데 약간의 시간이 걸립니다.파싱 된 텍스트를 저장해야합니까? 그렇다면 어디에서?
질문은 캐싱 할 가치가 있습니까? 그리고 그렇다면 어디에서? 텍스트 파일 또는 데이터베이스?
캐시하지 마십시오 : 제가보기에는
, 나는 세 가지 옵션이 있습니다. 텍스트가 데이터베이스에서 추출되어 표시 될 때마다 구문 분석을 실행하십시오.
(Symfony2/나뭇 가지에서, 난 그냥{{ text|markdown }}
을 할 것)은 데이터베이스에 두 개의 필드,
content_source
및content_parsed
되세요. 텍스트를 편집 할 때마다 구문 분석 된 코드를 저장하고 요청시 캐시 된 코드 만 표시하면됩니다.파싱 된 코드를 파일로 캐시하십시오. 요청할 때 파일이 존재하는지 (존재하지 않는지, 파싱하고 캐시하는지) 확인하고 표시하십시오.
생각들?
개인적으로, 나는 두 번째 옵션을 좋아합니다. 방아쇠를 사용하십시오. – Randy
캐시 .......... – dynamic
memcached는 어떻게됩니까? 그것은 파싱 된 코드를 캐싱하는 것이지만 파일은 캐싱하지 않습니다. 그것은 파일보다 빠른 방법으로 검색 할 것이고, 코드하는 방법에 따라, 요청 된 처음 구문 분석하고 캐시에 저장할 수 있습니다. 동일한 데이터를 데이터베이스에 두 번 저장하는 것보다 낫습니다. – Matthew