Pluggable cache key algorithm
|Reported by:||Ludovico Magnocavallo||Owned by:||nobody|
|Component:||Core (Cache system)||Version:||1.0|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
There are certain situations when you need to preserve path details in the generated cache keys, for example when using a hyerarchical cache that lets you expire whole branches of a site. The current way in which cache keys are built by Django loses all path information as keys are opaques, and furthermore it's impossible for a user to override it, short of monkeypatching utils.cache.get_cache_key() and utils.cache._generate_cache_header_key().
It might be useful to add a config setting where the user can specify a couple of generic functions to use instead of the default ones. It will take little work, and make the cache engine much more extensible for advanced uses.