redis相信大家都很熟悉了,和memcached一樣是一個高效能的key-value資料庫,至於什麼是快取伺服器,度娘都有很明白的介紹了,我在這裡就不一一介紹了。
那我們一般在什麼情況下才會使用快取伺服器呢?可不是什麼情況都需要的哦,一般來說是在需要頻繁對一個字段讀取的時候才會需要將這個字段放入到緩存伺服器上,而且由於key-value數據庫一般只是放很簡單的數據,所以在選擇已儲存的物件的時候要注意選擇好。
下面我就來介紹如何在Django中設定使用redis資料庫,首先是先安裝redis了,在Ubuntu中執行下面這句指令:
#安裝Redis伺服器端
sudo apt-get install redis-server
然後為了能在Django中使用redis,還需要安裝redis for Django的插件:
pip install django-redis
這是一個開源的項目,github位址是https://github.com/niwibe/django -redis,感謝作者。
那麼現在就是在Django的settings中配置了。
CACHES = { 'default': { 'BACKEND': 'redis_cache.cache.RedisCache', 'LOCATION': '127.0.0.1:6379', "OPTIONS": { "CLIENT_CLASS": "redis_cache.client.DefaultClient", }, }, } REDIS_TIMEOUT=7*24*60*60 CUBES_REDIS_TIMEOUT=60*60 NEVER_REDIS_TIMEOUT=365*24*60*60
其實只是需要CACHES中的那幾條就可以了,後面這三句可以不需要的,只是我後面的例子裡需要用到,我就在這裡配置了。
好了,現在連線和設定都已經完成了,那麼在專案中該如何使用呢?接下來看下面這段例子。
from django.conf import settings from django.core.cache import cache #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)
透過上面的這兩個方法就可以實現對redis的讀取操作了,只需要將需要的字段當參數傳入到方法中就好了。
那麼之前提到的memcached呢?其實也是一樣的配置:
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': '127.0.0.1:11211', } }
當然用法也是跟我上面的例子是一樣的了。其實對於redis這樣的快取伺服器來說,設定都是很簡單的,而具體的使用也不難,官網上面也有很多簡單明了的例子可以供我們參考,只有一點需要注意的,那就是對於要將什麼樣的資訊保存到redis才是我們真正需要關心的。
以上是redis快取伺服器在Django中的用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

WebStorm Mac版
好用的JavaScript開發工具

記事本++7.3.1
好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。