답변:
메모 화는 매개 변수를 기반으로 함수의 반환 값을 캐싱하는 것과 관련된 특정 형태의 캐싱입니다 .
캐싱은보다 일반적인 용어입니다. 예를 들어, HTTP 캐싱은 캐싱이지만 메모 화는 아닙니다.
Wikipedia 말한다 :
캐싱과 관련이 있지만 메모 화는이 최적화의 특정 사례를 나타내며 버퍼링 또는 페이지 교체와 같은 캐싱 형식과 구별됩니다.
If-Match
과 만료로 인해 . 메모 화는 HTTP가 거의없는 순수 기능에만 의미가 있습니다.
내가 본 것처럼 "기억"은 "결정 론적 함수의 결과를 캐싱"하는 것으로 동일한 함수와 입력이 주어지면 언제든지 재현 할 수 있습니다.
"캐싱"에는 기본적으로 소스 값이 주어진 시간에 재현 가능한지 여부에 관계없이 모든 출력 버퍼링 전략이 포함됩니다. 실제로 캐싱은 디스크 또는 메모리의 쓰기 캐시와 같은 입력 버퍼링 전략 을 참조하는데도 사용됩니다 . 따라서 훨씬 더 일반적인 용어입니다.
메모 화는 결정적 함수의 결과를 캐싱하는 특별한 형태입니다. 이것은 함수 외부에서 결과를 캐싱하는 것은 메모 화가 아님을 의미합니다. 그 이유는 함수가 새로운 결과를 계산할 때 (캐시에 있지 않은) 캐시를 변경해야하므로 더 이상 (순수한) 함수가되지 않기 때문입니다. 메모 화는 일반적으로 캐시를 추가 인수로 전달하는 것을 의미합니다 (도우미 함수에서). 메모 화는 단일 액세스에 대해 여러 번 값을 계산해야하는 함수를 최적화합니다. 캐싱은 동일한 매개 변수로 여러 번 호출되는 함수를 최적화합니다. 즉, Memoization은 캐싱이 반복적 인 액세스 만 최적화하는지 여부에 관계없이 첫 번째 액세스를 최적화합니다.