使用Django-redis 做緩存
作為一名網(wǎng)站開發(fā)人員,裝飾自己的網(wǎng)站是重要的事情,提升和強化自己的網(wǎng)站更是一個不可忽視的重點。
為什么需要緩存?
當我們?yōu)g覽一個網(wǎng)站的時候,數(shù)據(jù)往往是從對方數(shù)據(jù)庫中取出來的。當訪問的人數(shù)相當多的時候,每次都要從數(shù)據(jù)庫取,這是一筆相當大的開銷。這時候使用緩存來記錄一些數(shù)據(jù),從而減少查詢數(shù)據(jù)庫的開銷,減輕服務器的壓力。
使用 Redis
Redis 的好處我也說不過來。
可以參考 Redis 的維基百科:https://zh.wikipedia.org/wiki/Redis
此外,我選擇 Redis 的原因在于現(xiàn)在大部分公司對 web 人員都有類似熟悉 mongodb redis 這類的要求,那么我們就去了解了解。
1. Django 如何使用 Redis?
這里我用到了一個包 django-redis :https://github.com/niwinz/django-redis
使用方法和簡單,在你的環(huán)境中運行 pip install django-redis
就可以安裝它。
在你的 settings 文件中加入:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/1",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
}
}
}
這樣就在你的 Django 項目中配置好了
要確保你的系統(tǒng)中安裝了 Redis
可以用 systemctl status redis 來查看 Redis 的運行情況
代碼部分
# 代碼片段
# 導入包
from django.core.cache import cache
# 設置一個 key
key = 'article'
# 判斷 key 是否存在 cache 中, 存在則在 cache 中取, 不存在則查詢數(shù)據(jù)庫
if key in cache:
articles = cache.get(key)
else:
# 查詢數(shù)據(jù)庫
articles = Article.objects.all()
# 將查詢的內容 和 key 作為鍵值對存入 cache, 并設置緩存時間
cache.set(key, articles, 15 * 60)
使用方法很簡單,(是你了解的不夠深入)
總的來說就是將訪問網(wǎng)頁的時候需要查詢的東西,或者是長時間都不會改變但每次都需要從數(shù)據(jù)庫中取的數(shù)據(jù)存入緩存中,當下次再訪問到相同內容時,就會先在 cache 中查找。
Redis 在 Django 的使用方式...done
個人博客地址:http://www.haosev.cc/