Answers:
备注是缓存的一种特殊形式,它涉及根据函数的参数缓存函数的返回值。
缓存是一个更笼统的术语。例如,HTTP缓存是缓存,而不是备注。
维基百科说:
尽管与缓存有关,但是记忆是指此优化的特定情况,将其与诸如缓存或页面替换之类的缓存形式区分开。
If-Match
和到期。记住只对纯函数有意义,而HTTP很少。
正如我所看到的,“记忆”是“缓存确定性函数的结果”,在给定相同功能和输入的情况下,可以随时对其进行复制。
“缓存”基本上包括任何输出缓存策略,无论源值在给定时间是否可再现。实际上,缓存还用于指代输入缓存策略,例如磁盘或内存上的写缓存。因此,这是一个更笼统的术语。
记忆化是缓存确定性函数结果的一种特殊形式。这意味着将结果缓存在函数外部不是备忘录,因为在计算新结果时该函数将不得不更改缓存(不在缓存中),因此不再是(纯)函数。备注通常意味着将缓存作为附加参数传递(在辅助函数中)。记忆将优化需要针对单个访问多次计算值的功能。缓存将优化使用相同参数多次调用的函数。换句话说,无论缓存是否只会优化循环访问,记忆化都会优化首次访问。