欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡(jiǎn)介Django框架中可使用的各類緩存

 更新時(shí)間:2015年07月23日 12:13:27   投稿:goldensun  
這篇文章主要介紹了簡(jiǎn)介Django框架中可使用的各類緩存,Django是人氣最高的Python web開發(fā)框架,需要的朋友可以參考下

數(shù)據(jù)庫緩存

為了使用數(shù)據(jù)庫表作為緩存后端,首先在數(shù)據(jù)庫中運(yùn)行這個(gè)命令以創(chuàng)建緩存表:

python manage.py createcachetable [cache_table_name]

這里的[cache_table_name]是要?jiǎng)?chuàng)建的數(shù)據(jù)庫表名。 (這個(gè)名字隨你的便,只要它是一個(gè)有效的表名,而且不是已經(jīng)在您的數(shù)據(jù)庫中使用的表名。)這個(gè)命令以Django的數(shù)據(jù)庫緩存系統(tǒng)所期望的格式創(chuàng)建一個(gè)表。

一旦你創(chuàng)建了數(shù)據(jù)庫表,把你的CACHE_BACKEND設(shè)置為”db://tablename”,這里的tablename是數(shù)據(jù)庫表的名字,在這個(gè)例子中,緩存表名為my_cache_table: 在這個(gè)例子中,高速緩存表的名字是my_cache_table:

CACHE_BACKEND = 'db://my_cache_table'

數(shù)據(jù)庫緩存后端使用你的settings文件指定的同一數(shù)據(jù)庫。 你不能為你的緩存表使用不同的數(shù)據(jù)庫后端.

如果你已經(jīng)有了一個(gè)快速,良好的索引數(shù)據(jù)庫服務(wù)器,那么數(shù)據(jù)庫緩存的效果最明顯。
文件系統(tǒng)緩存

要把緩存項(xiàng)目放在文件系統(tǒng)上,請(qǐng)為CACHE_BACKEND使用”file://“的緩存類型。例如,要把緩存數(shù)據(jù)存儲(chǔ)在/var/tmp/django_cache上,請(qǐng)使用此設(shè)置:

CACHE_BACKEND = 'file:///var/tmp/django_cache'

注意例子中開頭有三個(gè)斜線。 頭兩項(xiàng)是file://,第三個(gè)是第一個(gè)字符的目錄路徑,/var/tmp/django_cache。如果你使用的是Windows,在file://之后加上文件的驅(qū)動(dòng)器號(hào):

file://c:/foo/bar

目錄路徑應(yīng)該是*絕對(duì)*路徑,即應(yīng)該以你的文件系統(tǒng)的根開始。 在設(shè)置的結(jié)尾放置斜線與否無關(guān)緊要。

確認(rèn)該設(shè)置指向的目錄存在并且你的Web服務(wù)器運(yùn)行的系統(tǒng)的用戶可以讀寫該目錄。 繼續(xù)上面的例子,如果你的服務(wù)器以用戶apache運(yùn)行,確認(rèn)/var/tmp/django_cache存在并且用戶apache可以讀寫/var/tmp/django_cache目錄。

每個(gè)緩存值將被存儲(chǔ)為單獨(dú)的文件,其內(nèi)容是Python的pickle模塊以序列化(“pickled”)形式保存的緩存數(shù)據(jù)。 每個(gè)文件的名稱是緩存鍵,以規(guī)避開安全文件系統(tǒng)的使用。
本地內(nèi)存緩存

如果你想利用內(nèi)存緩存的速度優(yōu)勢(shì),但又不能使用Memcached,可以考慮使用本地存儲(chǔ)器緩存后端。 此緩存的多進(jìn)程和線程安全。 設(shè)置 CACHE_BACKEND 為 locmem:/// 來使用它,例如:

CACHE_BACKEND = 'locmem:///'

請(qǐng)注意,每個(gè)進(jìn)程都有自己私有的緩存實(shí)例,這意味著跨進(jìn)程緩存是不可能的。 這顯然也意味著本地內(nèi)存緩存效率并不是特別高,所以對(duì)產(chǎn)品環(huán)境來說它可能不是一個(gè)好選擇。 對(duì)開發(fā)來說還不錯(cuò)。
仿緩存(供開發(fā)時(shí)使用)

最后,Django提供了一個(gè)假緩存(只是實(shí)現(xiàn)了緩存接口,實(shí)際上什么都不做)。

假如你有一個(gè)產(chǎn)品站點(diǎn),在許多地方使用高度緩存,但在開發(fā)/測(cè)試環(huán)境中,你不想緩存,也不想改變代碼,這就非常有用了。 要激活虛擬緩存,就像這樣設(shè)置CACHE_BACKEND:

CACHE_BACKEND = 'dummy:///'

使用自定義緩存后端

盡管Django包含對(duì)許多緩存后端的支持,在某些情況下,你仍然想使用自定義緩存后端。 要讓Django使用外部緩存后端,需要使用一個(gè)Python import路徑作為的CACHE_BACKEND URI的(第一個(gè)冒號(hào)前的部分),像這樣:

CACHE_BACKEND = 'path.to.backend://'

如果您構(gòu)建自己的后端,你可以參考標(biāo)準(zhǔn)緩存后端的實(shí)現(xiàn)。 源代碼在Django的代碼目錄的django/core/cache/backends/下。

注意 如果沒有一個(gè)真正令人信服的理由,比如主機(jī)不支持,你就應(yīng)該堅(jiān)持使用Django包含的緩存后端。 它們經(jīng)過大量測(cè)試,并且易于使用。

相關(guān)文章

  • 解決python中導(dǎo)入win32com.client出錯(cuò)的問題

    解決python中導(dǎo)入win32com.client出錯(cuò)的問題

    今天小編就為大家分享一篇解決python中導(dǎo)入win32com.client出錯(cuò)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • pytest多重?cái)嘌缘膶?shí)現(xiàn)

    pytest多重?cái)嘌缘膶?shí)現(xiàn)

    本文主要介紹了pytest多重?cái)嘌缘膶?shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • python黑魔法之參數(shù)傳遞

    python黑魔法之參數(shù)傳遞

    這篇文章主要介紹了python黑魔法之參數(shù)傳遞,分析了python參數(shù)傳遞的方法,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 通過numba模塊給Python代碼提速的方法詳解

    通過numba模塊給Python代碼提速的方法詳解

    numba是Anaconda公司開發(fā)的針對(duì)Python的開源JIT編譯器,用于提供Python版CPU和GPU編程,速度比原生Python快數(shù)十倍。本文將詳細(xì)介紹一下numba是如何實(shí)現(xiàn)代碼提速的,需要的可以參考一下
    2022-01-01
  • 詳解Django模版中加載靜態(tài)文件配置方法

    詳解Django模版中加載靜態(tài)文件配置方法

    這篇文章主要介紹了Django模版中加載靜態(tài)文件配置方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python使用uuid庫生成唯一標(biāo)識(shí)ID

    Python使用uuid庫生成唯一標(biāo)識(shí)ID

    這篇文章主要介紹了Python使用uuid模塊生成唯一標(biāo)識(shí)ID,需要的朋友可以參考下
    2020-02-02
  • python之json文件轉(zhuǎn)xml文件案例講解

    python之json文件轉(zhuǎn)xml文件案例講解

    這篇文章主要介紹了python之json文件轉(zhuǎn)xml文件案例講解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • pytorch中.to(device) 和.cuda()的區(qū)別說明

    pytorch中.to(device) 和.cuda()的區(qū)別說明

    這篇文章主要介紹了pytorch中.to(device) 和.cuda()的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • NumPy創(chuàng)建數(shù)組的多種方式實(shí)現(xiàn)

    NumPy創(chuàng)建數(shù)組的多種方式實(shí)現(xiàn)

    在使用NumPy時(shí),通常需要先創(chuàng)建一個(gè)數(shù)組,然后再對(duì)這個(gè)數(shù)組進(jìn)行各種操,本文主要介紹了NumPy創(chuàng)建數(shù)組的多種方式實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-06-06
  • Python利用Flask-Mail實(shí)現(xiàn)發(fā)送郵件詳解

    Python利用Flask-Mail實(shí)現(xiàn)發(fā)送郵件詳解

    Flask?的擴(kuò)展包?Flask?-?Mail?通過包裝了?Python?內(nèi)置的smtplib包,可以用在?Flask?程序中發(fā)送郵件。本文將利用這特性實(shí)現(xiàn)郵件發(fā)送功能,感興趣的可以了解一下
    2022-08-08

最新評(píng)論