一,缓存
由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内存或者memcache中之前缓存的内容拿到,并返回。
Django中提供了6种缓存方式:
- 开发调试
- 内存
- 文件
- 数据库
- Memcache缓存(python-memcached模块)
- Memcache缓存(pylibmc模块)
1,配置
a、开发调试
CACHES =: ,
: 300,
: 300,
: 3,
: ,
: 1,
:
<span style="color: #008000;">#<span style="color: #008000;"> 自定义key
<span style="color: #0000ff;">def<span style="color: #000000;"> default_key_func(key,key_prefix,version):
<span style="color: #800000;">"""<span style="color: #800000;">
Default function to generate keys.
<span style="color: #800000;">"""<span style="color: #800000;">
Function to decide which key function to use.
<span style="color: #0000ff;">def<span style="color: #000000;"> default_key_func(key,key_prefix,version):
<span style="color: #800000;">"""<span style="color: #800000;">
Default function to generate keys.
Constructs the key used by all other methods. By default it prepends
the `key_prefix'. KEY_FUNCTION can be used to specify an alternate
function with custom key making behavior.
</span><span style="color: #800000;">"""</span>
<span style="color: #0000ff;">return</span> <span style="color: #800000;">'</span><span style="color: #800000;">%s:%s:%s</span><span style="color: #800000;">'</span> %<span style="color: #000000;"> (key_prefix,version,key)
<span style="color: #0000ff;">def<span style="color: #000000;"> get_key_func(key_func):<span style="color: #800000;">"""<span style="color: #800000;">
Function to decide which key function to use.
Defaults to ``default_key_func``.
</span><span style="color: #800000;">"""</span>
<span style="color: #0000ff;">if</span> key_func <span style="color: #0000ff;">is</span> <span style="color: #0000ff;">not</span><span style="color: #000000;"> None:
</span><span style="color: #0000ff;">if</span><span style="color: #000000;"> callable(key_func):
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> key_func
</span><span style="color: #0000ff;">else</span><span style="color: #000000;">:
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> import_string(key_func)
</span><span style="color: #0000ff;">return</span> default_key_func</pre>