Django分析之使用redis快取服務器

來源:互聯網
上載者:User

標籤:

        時間長沒有更新了,這段時間一直忙著一個項目,今天就記錄一個現在經常會用到的技術吧。

        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*60CUBES_REDIS_TIMEOUT=60*60NEVER_REDIS_TIMEOUT=365*24*60*60

其實只是需要CACHES中的那幾條就可以了,後面這三句可以不需要的,只是我後面的例子裡需要用到,我就在這裡配置了。

      好了,現在串連和配置都已經完成了,那麼在項目中該如何使用呢?接下來看下面這段例子吧。

from django.conf import settingsfrom django.core.cache import cache#read cache user iddef 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 iddef 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才是我們真正需要關心的。

Django分析之使用redis快取服務器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.