在 Django 中使用缓存

2023-04-06 00:00:00 django 缓存

在 Django 中使用缓存可以大幅提升网站的性能,减轻服务器的负载。下面就是 Django 中使用缓存的方法和示例代码。
1. 配置缓存
在 Django 的 settings.py 文件中,需要配置缓存的相关参数。可以使用各种不同的缓存后端,比如 memcached、redis、本地内存等,这里以使用本地内存缓存为例:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
        'LOCATION': 'unique-cache-key',  # 可以自定义缓存 key
        'TIMEOUT': 3600,  # 缓存时间,单位秒
        'OPTIONS': {
            'MAX_ENTRIES': 1000,  # 缓存最大条目数
        }
    }
}
  1. 使用缓存
    在需要使用缓存的地方,可以使用 Django 提供的 cache 模块来访问缓存。比如下面的视图函数:
from django.shortcuts import render
from django.core.cache import cache
def cached_view(request):
    cached_data = cache.get('pidancode')
    if cached_data is None:
        cached_data = 'Hello pidancode.com!'
        cache.set('pidancode', cached_data, 3600)
    return render(request, 'cached_view.html', {'cached_data': cached_data})

上面的视图函数中,首先调用了 cache.get('pidancode') 来尝试获取缓存数据。如果缓存数据存在,直接返回;否则,生成新的缓存数据并使用 cache.set('pidancode', cached_data, 3600) 来存储缓存数据。
3. 清除缓存
在 Django 中清除缓存也非常简单,使用 cache.delete('pidancode') 即可删除指定 key 的缓存数据。

from django.core.cache import cache
def clear_cache(request):
    cache.delete('pidancode')
    return render(request, 'clear_cache.html')

上面的视图函数中,调用了 cache.delete('pidancode') 来删除名为 pidancode 的缓存数据。
以上就是 Django 中使用缓存的基本方法和示例代码。

相关文章