Django--緩存

因爲Django是動態網站,全部每次請求均會去數據進行相應的操做,當程序訪問量大時,耗時必然會更加明顯,最簡單解決方式是使用:緩存,緩存將一個某個views的返回值保存至內存或者Redis中,5分鐘內再有人來訪問時,則再也不去執行view中的操做,而是直接從內存或者Redis中以前緩存的內容拿到,並返回。python

一、準備一個動態網站

urls.py
1
2
3
4
5
from app01 import views
urlpatterns = [
     url(r '^admin/' , admin.site.urls),
     url(r '^cache/$' , views.cache),
]
app01/views.py
1
2
3
4
import time
def cache(request):
     current = str( time.time())
     return HttpResponse(current)


二、建立緩存目錄


三、配置文件

settings.py
1
2
3
4
5
6
7
8
9
10
CACHES = {
     'default' : {
         'BACKEND' : 'django.core.cache.backends.filebased.FileBasedCache' , #文件方式
         'LOCATION' : os.path.join(BASE_DIR, 'cache' ),
         'TIMEOUT' : 600 ,
         'OPTIONS' : {
             'MAX_ENTRIES' : 1000
         }
     }
}


四、應用

1
2
3
4
5
6
from django.views.decorators.cache import cache_page
 
@cache_page ( 60 * 15 )    #緩存15分鐘
def cache(request):
     current = str (time.time())
     return HttpResponse(current)


五、驗證

時間戳只刷新了一次就被緩存了起來,再刷新就不改變了,讀取的是cache的字符串。同時,生成了2個靜態緩存文件:redis



六、緩存介質​

所生成的靜態字符串,能夠存放在文件,內存,數據庫,或redis、memcache。
數據庫

英文連接:https://docs.djangoproject.com/en/1.9/topics/cache/django

中文鏈接:http://djangobook.py3k.cn/2.0/chapter15/ 緩存













相關文章
相關標籤/搜索