Django day31 contentType組件,Django的緩存

1、contentType組件前端

  一、幹什麼用的?
    是一個django內置的一個組件,方便咱們快速的連表操做
  二、這兩個字段都不會在數據庫中生成,他只是用來查詢,插入的python

-在course表中: policy = GenericRelation('PricePolicy', object_id_field='course_id', content_type_field='tyble_id') -在價格策略表中: content_obj = GenericForeignKey('table_id', 'course_id')

 

2、Django的緩存:Django是一個大而全的好東西數據庫

  一、緩存機制的 優缺點:
    優勢:把一些常常訪問的頁面放入緩存當中,請求來了,直接到緩存中拿數據
    缺點:緩存的數據不能實時更新
  二、Django緩存機制有什麼用?django

    提升網站的訪問效率,有如下幾種方式:前端用cdn來作,後臺能夠用緩存,數據庫能夠來優化,從三個角度分析,每一個層面可以幹什麼緩存

  三、Django中的6種緩存方式:用的比較常見的有文件緩存和Mecache緩存
  (1)開發調試緩存---> 此模式爲開發調試使用,實際上不執行任何操做
  (2)內存緩存---> 將緩存內容保存至內存區域中
  (3)文件緩存---> 把緩存數據存儲在文件中
  (4)數據庫緩存---> 把緩存數據存儲在數據庫中
  (5)Memcache緩存(使用python-memcacheed模塊鏈接memcache)---> Memcache是Django原生支持緩存系統,須要下載Memcached支持庫python-Memcached或pylibme
  (6)Memcache(使用pylibmc模塊)---> 是基於內存的緩存,數據庫存儲在內存中,
因此若是服務器死機的話,數據就會丟失,因此Memcached通常與其餘緩存配合使用

  四、Django的基本用法是作什麼用?
    Django提供了不一樣粒度的緩存,能夠緩存某個頁面,能夠只緩存一個頁面的某一個部分,甚至能夠緩存整個網站,指定將緩存數據保存多久
  五、幾種緩存機制:服務器

  (1)全站緩存:兩個中間件函數

MIDDLEWARE_CLASSES = ( ‘django.middleware.cache.UpdateCacheMiddleware’, #第一
    'django.middleware.common.CommonMiddleware', ‘django.middleware.cache.FetchFromCacheMiddleware’, #最後
    )

  (2)單頁面緩存:優化

from django.views.decorators.cache import cache_page # 裝飾器加載視圖函數上便可
@cache_page(5)

  (3)頁面局部緩存:網站

{% load cache %} # 第一個參數是時間,第二個參數是別名
{% cache 5 'test' %} 緩存的時間: {{ ctime }} {% endcache %}
相關文章
相關標籤/搜索