summaryrefslogtreecommitdiff
path: root/docs/misc
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-01-16 21:13:08 -0500
committerTim Graham <timograham@gmail.com>2014-01-16 21:13:08 -0500
commitdd98ccd4821f71543a5489d421ea2dee28901f17 (patch)
tree41ed5f684eed27aa541a5c60267b819109e785f0 /docs/misc
parent9173d2cb746f253ca31183eb63ac47e440c74ce3 (diff)
Fixed #16785 -- Documented some of the design decisions of the cache framework.
Thanks jamesp for the draft patch.
Diffstat (limited to 'docs/misc')
-rw-r--r--docs/misc/design-philosophies.txt26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/misc/design-philosophies.txt b/docs/misc/design-philosophies.txt
index 8664d4e7ed..39807ed3d0 100644
--- a/docs/misc/design-philosophies.txt
+++ b/docs/misc/design-philosophies.txt
@@ -307,3 +307,29 @@ Differentiate between GET and POST
GET and POST are distinct; developers should explicitly use one or the other.
The framework should make it easy to distinguish between GET and POST data.
+
+.. _cache-design-philosophy:
+
+Cache Framework
+===============
+
+The core goals of Django's :doc:`cache framework </topics/cache>` are:
+
+Less code
+---------
+
+A cache should be as fast as possible. Hence, all framework code surrounding
+the cache backend should be kept to the absolute minimum, especially for
+``get()`` operations.
+
+Consistency
+-----------
+
+The cache API should provide a consistent interface across the different
+cache backends.
+
+Extensibility
+-------------
+
+The cache API should be extensible at the application level based on the
+developer's needs (for example, see :ref:`cache_key_transformation`).