새로운 Elixir 프로젝트에서 사용자 검색을 위해 Erlang의 ETS를 캐시로 사용할 것을 고려하고 있습니다. 사용자 입력을 기반으로 시스템은 비싼 타사 API를 사용하여 조회를 수행합니다.ETS 스토리지의 성장을 제한하십시오.
동일한 사용자 입력에 대해 중복 호출을 피하기 위해 외부 API 앞에 캐시 계층을 추가하려고합니다. ETS는이를위한 좋은 옵션처럼 보입니다. 그러나 사용자 입력의 변형에는 제한이 없기 때문에 ETS 테이블에 필요한 저장 공간이 제한없이 증가 할 것이라는 우려가 있습니다.
ETS에 대한 저의 독서에서 다른 누구도 ETS의 테이블 크기에 대한 우려를 보지 못했습니다. 이것이 ETS의 비정상적인 사용 사례가 될 수 있기 때문입니까? 언뜻
는 내 취향은 (즉, 삭제) 한계에 도달하면 가장 오래된 항목 ...
가 처리하기위한 공통의 전략이되는 ETS 테이블에있는 항목의 수를 제한하고 거부하는 것 무한대의 ETS 엔트리 수
에게 케이스 결과 첫 페이지, 않거나 일치하는리스트의 크기를 확인 (버퍼를 설정할 수있다 https://www.google.ch/#q=erlang+ets+cache) "erlang ets cache"는 많은 유용한 히트 곡을 제공합니다. –