39.Django 中使用redis缓存

244 阅读1分钟

Django 缓存的存储方式

  • Memcached 缓存
  • Redis 缓存 (需要安装 django-redis 包)
  • 数据库缓存
  • 文件系统缓存
  • 本地内存缓存
  • 伪缓存( Dummy Cache, 用于开发、测试)
  • 自定义缓存

缓存策略

  • 整站缓存
  • 视图缓存
  • 模板片段缓存

安装redis

juejin.cn/post/730235…

image.png

操作步骤

django-redis-chs.readthedocs.io/zh-cn/lates…

python3 -m pip install django-redis

作为 cache backend 使用配置

wangdalei_dj/settings/develop.py

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "redis://172.31.7.188:6379/1",
        # # default expire time per api call
        "TIMEOUT": 60, 
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "SOCKET_CONNECT_TIMEOUT": 5,  # in seconds
            "SOCKET_TIMEOUT": 5,  # r/w timeout in seconds
            'MAX_ENTRIES': 10000,
            'KEY_PREFIX': 'recruit-',
        }
    }
}

配置整站缓存 wangdalei_dj/settings/base_settings.py 追加以下配置

MIDDLEWARE = [
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',

界面已经使用了缓存 image.png