Django cache

缓存框架的核心目标

  • 较少的代码
    • 缓存应该尽可能快
    • 因此围绕缓存后端的所有框架代码应该保持在绝对最小值,特别是对于获取操作
  • 一致性
    • 缓存API应该是提供跨越不同缓存后端的一致接口
  • 可扩展性
    • 基于开发人员的需求,缓存API应该可以在应用程序级别扩展

缓存

  • django内置了缓存框架,并提供了几种常用的缓存
    • 基于Memcached缓存
    • 使用数据库进行缓存
    • 使用文件系统进行缓存
    • 使用本地内存进行缓存
    • 提供缓存扩展接口
缓存配置
  1. 创建缓存表
    python manage.py createcachetable [table_name]
    
  2. 缓存配置
    CACHES = {
        'default': {
            'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
            'LOCATION': 'my_cache_table',
            'TIMEOUT': '60',
            'OPTIONS': {
                'MAX_ENTRIES': '300',
            },
            'KEY_PREFIX': 'rock',
            'VERSION': '1',
        }
    }
    
缓存使用
  • 在视图中使用(使用最多的场景)
  • @cache_page()
    • time 秒 60*5 缓存五分钟
    • cache 缓存配置, 默认default,
    • key_prefix 前置字符串
缓存底层
  • 获取cache

    • from django.core.cache import caches
      cache = caches['cache_name']
      
  • 获取cache

    • from django.core.cache import cache
      
  • 缓存操作

    • cache.set

      • key

      • value

      • timeout

    • get

    • add

    • get_or _set

    • get_many

    • set_many

    • delete

    • delete_many

    • clear

    • incr 增加

      • incr(key, value) key对应的值上添加 value
    • decr 减少

      • decr(key, value) key对应的值上减少value

      • 如果value不写,默认变更为1

使用Redis做缓存

来源

Cache

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值