Django(缓存和中间件)

缓存场景:

1.博客列表页

2.电商商品详情页

场景特点:缓存的地方,数据变动频率较少

Django中设置缓存 --- 数据库缓存

将缓存的数据存储在数据库中 说明:尽管存储介质没有更换,但是当一次负责查询的结果直接存储到表里,不如多个条件的过滤查询拿结果,可避免重复进行复杂查询,提升效率

#数据库缓存 需手动执行创建表的命令
CACHES = {
    'default':{
        'BACKEND':'django.core.cache.backends.db.DatabaseCache',
        'LOCATION':'my_cache_table',#手动创建表
        'TIMEOUT':300,#缓存保存时间,单位秒,默认值300
        'OPTIONS':{
            'MAX_ENTRIES':300,#缓存最大数据条数
            'CULL_FREQUENCY':2,#缓存条数达到最大时,删除1/x的缓存数据
        }
    }
}
python manage.py createcachetable #执行创建my_cache_table表的命令

python manage.py migrate #进行数据迁移

Django中使用缓存(整体缓存) ---- 视图函数中

#装饰器
from django.views.decorators.cache import cache_page
@cache_page(30) -->单位s
def my_view(request):
    ...

Django中使用缓存(整体缓存) ---- 路由中 

from django.views.decorators.cache import cache_page

urlpatterns = [
    path('foo/',cache_page(60)(my_view)),
]

 例子:

#views.py代码
@cache_page
def test_cache(request):
    t = time.time()
    return HttpResponse('t is %s'%(t))
#有缓存走缓存 没缓存走视图

#url.py代码
from django.urls import path
from . import views

urlpatterns = [
    path('test_page/',views.test_cache),
]

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值