Django 默认缓存

15 投票
3 回答
11844 浏览
提问于 2025-04-18 15:27

我在这样导入和使用缓存:

from django.core.cache import cache
cache.add('a','b',60)

我在settings.py里没有定义任何关于缓存的设置,那这个缓存是从哪里来的,存在哪里呢?

Django文档上说:“这个对象等同于caches['default']”,但这个默认的是什么呢?

3 个回答

2

默认情况下,使用的是 本地内存缓存,这其实是 Django 缓存的一种。

所以,因为 本地内存缓存 是默认选项,你不需要像下面这样在 settings.py 文件里写 本地内存缓存 的代码,除非你要使用 多个本地内存缓存

# "settings.py"

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-snowflake',
    }
}
9

根据经验

>>> from django.conf import settings
>>> settings.CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
>>> 
16

https://docs.djangoproject.com/en/stable/topics/cache/#local-memory-caching中提到:

本地内存缓存

如果在你的设置文件中没有指定其他缓存方式,那么这个就是默认的缓存方式。

更新了失效的链接

撰写回答