Django使用redis緩存服務器

nf456 9年前發布 | 71K 次閱讀 Django Web框架

redis相信大家都很熟悉了,和memcached一樣是一個高性能的key-value數據庫,至于什么是緩存服務器,度娘都有很明白的介紹了,我在這里就不

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_idof'+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_idof'+user_name     cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)</pre>

通過上面的這兩個方法就可以實現對redis的讀取操作了,只需要將需要的字段當參數傳入到方法中就好了。

那么之前提到的memcached呢?其實也是一樣的配置:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

當然用法也是和我上面的例子是一樣的了。其實對于redis這樣的緩存服務器來說,配置都是很簡單的,而具體的使用也不難,官網上面也有很多簡單明了的例子可以供我們參考,只有一點需要注意的,那就是對于要將什么樣的信息保存到redis才是我們真正需要關心的。


</div>

 本文由用戶 nf456 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!