国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

redis之django-redis的簡單緩存使用

2020-02-15 21:40:56
字體:
來源:轉載
供稿:網友

本文介紹了redis之django-redis的簡單緩存使用,分享給大家,具體如下:

自定義連接池

這種方式跟普通py文件操作redis一樣,代碼如下:

views.py

import redisfrom django.shortcuts import render,HttpResponsefrom utils.redis_pool import POOLdef index(request):  conn = redis.Redis(connection_pool=POOL)  conn.hset('kkk','age',18)  return HttpResponse('設置成功')def order(request):  conn = redis.Redis(connection_pool=POOL)  conn.hget('kkk','age')  return HttpResponse('獲取成功')

通過第三方組件操作redis

安裝

pip3 install django-redis

配置

settings.py

# redis配置CACHES = {  "default": {    "BACKEND": "django_redis.cache.RedisCache",    "LOCATION": "redis://127.0.0.1:6379",    "OPTIONS": {      "CLIENT_CLASS": "django_redis.client.DefaultClient",      "CONNECTION_POOL_KWARGS": {"max_connections": 100}      # "PASSWORD": "密碼",    }  }}

使用

views.py

import redisfrom django.shortcuts import render,HttpResponsefrom django_redis import get_redis_connectiondef index(request):  conn = get_redis_connection("default")  return HttpResponse('設置成功')def order(request):  conn = get_redis_connection("default")  return HttpResponse('獲取成功')

全站緩存

使用中間件,經過一系列的認證等操作,如果內容在緩存中存在,則使用FetchFromCacheMiddleware獲取內容并返回給用戶,

當返回給用戶之前,判斷緩存中是否已經存在,如果不存在則UpdateCacheMiddleware會將緩存保存至緩存,從而實現全站緩存

MIDDLEWARE = [    'django.middleware.cache.UpdateCacheMiddleware',    # 其他中間件...    'django.middleware.cache.FetchFromCacheMiddleware',  ]

一個放在最上面,一個放在最下面

views.py

from django.shortcuts import render,HttpResponseimport timedef index(request):  ctime = str(time.time())  return HttpResponse(ctime)def order(request):  ctime = str(time.time())  return HttpResponse(ctime)

配置了全站緩存,在不同的時間(一定范圍內),上面兩個視圖返回的時間是一樣的,都是緩存時的時間

單獨視圖緩存

方式一:通過裝飾器

from django.views.decorators.cache import cache_page    @cache_page(60 * 15)    def my_view(request):      ...

方式二:通過url

from django.views.decorators.cache import cache_page    urlpatterns = [      url(r'^foo/([0-9]{1,2})/$', cache_page(60 * 15)(my_view)),    ]

局部頁面緩存

1. 引入TemplateTag

{% load cache %}

2. 使用緩存

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五寨县| 府谷县| 武山县| 孝昌县| 巴中市| 凉山| 桐梓县| 隆德县| 长顺县| 桂平市| 辽源市| 盖州市| 灵山县| 略阳县| 阜南县| 临洮县| 铜山县| 鹤山市| 岳普湖县| 旬邑县| 梅河口市| 宜城市| 大埔县| 偃师市| 蓬莱市| 财经| 罗平县| 利津县| 亚东县| 密山市| 兰溪市| 平舆县| 云和县| 神池县| 扶风县| 阿拉善盟| 平远县| 武功县| 嘉禾县| 游戏| 柏乡县|