django中配置和使用redis快取

2021-09-24 01:23:29 字數 3720 閱讀 2356

一、自定義連線池

這種方式跟普通py檔案操作redis一樣,**如下: 

return httpresponse('設定成功')

def order(request):

conn = redis.redis(connection_pool=pool)

conn.hget('name','mrsmith')

return httpresponse('獲取成功')二、第三方元件操作redis

1、安裝

pip install django-redis
2、settings.py 配置

# redis配置

caches =

# "password": "密碼",}}

}# 此快取將內容儲存至記憶體的變數中

# 配置:

caches =

}# 此快取將內容儲存至檔案

# 配置:

caches =

}# 此快取將內容儲存至資料庫

# 配置:

caches =

}# 使用資料庫快取,必須python manage.py createcachetable,生成表

# 此快取使用python-memcached模組連線memcache

caches =

}caches =

}

caches =

}# 此快取使用pylibmc模組連線memcache

caches =

}caches =

}

caches =

}redis_timeout=7*24*60*60

cubes_redis_timeout=60*60

never_redis_timeout=365*24*60*60

3、使用(views.py)

return httpresponse('設定成功')

def order(request):

conn = get_redis_connection("default")

return httpresponse('獲取成功')

from rest_framework.views import apiview

from rest_framework.response import response

from django.conf import settings

from django.core.cache import cache

import json

class orderview(apiview):

def get(self,request,*args,**kwargs):

# conn = get_redis_connection('default')

cache.set('a','b')

print(cache.get('a'))

return response('..')

#read cache user id

def read_from_cache(self, user_name):

key = 'user_id_of_'+user_name

value = cache.get(key)

if value == none:

data = none

else:

data = json.loads(value)

return data

#write cache user id

def write_to_cache(self, user_name):

key = 'user_id_of_'+user_name

cache.set(key, json.dumps(user_name), settings.never_redis_timeout)

三、全站快取

使用中介軟體,經過一系列的認證等操作,如果內容在快取中存在,則使用fetchfromcachemiddleware獲取內容並返回給使用者, 

當返回給使用者之前,判斷快取中是否已經存在,如果不存在則updatecachemiddleware會將快取儲存至快取,從而實現全站快取

1、settings.py中介軟體設定

middleware = [

'django.middleware.cache.updatecachemiddleware',

# 其他中介軟體...

'django.middleware.cache.fetchfromcachemiddleware',

]

備註:乙個放在最上面,乙個放在最下面

2、使用(views.py)

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])/$', cache_page(60 * 15)(my_view)),

]

2、使用快取

快取內容

spring session使用配置redis

1.新增依賴 dependency groupid org.springframework.session groupid artifactid spring session data redis artifactid version 1.2.0.release version dependency...

使用Cacti監控MongoDB和Redis

cacti 是一套基於php,mysql,snmp及rrdtool開發的網路流量監測圖形分析工具。被廣泛的用於對伺服器的運維監控中,cacti提供了一種外掛程式式的管理,只要按要求寫好特定的模板,那麼你就可以對任何服務進行流量監控 本文就是要為大家介紹兩個模板,分別是mongodb 和redis 的...

Django專案基礎配置和基本使用

博文配置內容包括 django專案的建立 django專案下應用的建立及配置 資料庫的配置 templates模板的配置 django專案的命令列啟動 命令列建立專案 在需要的目錄下建立django專案輸入命令 django admin startproject mydjango name 命令列啟...