From a92fafe9de4faa68892036de7962cb0bb4b2ba57 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 25 Nov 2018 16:14:00 -0800 Subject: [PATCH] Add usage note to the lru_cache docs --- Doc/library/functools.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Doc/library/functools.rst b/Doc/library/functools.rst index 40abdc24883c978..cd59e5bebfd565a 100644 --- a/Doc/library/functools.rst +++ b/Doc/library/functools.rst @@ -118,6 +118,11 @@ The :mod:`functools` module defines the following functions: The cache's size limit assures that the cache does not grow without bound on long-running processes such as web servers. + In general, the LRU cache should only be used when you want to reuse + previously computed values. Accordingly, it doesn't make sense to cache + functions with side-effects, functions that need to create distinct mutable + objects on each call, or impure functions such as time() or random(). + Example of an LRU cache for static web content:: @lru_cache(maxsize=32)