国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Django分析之使用redis緩存服務(wù)器

2019-11-14 17:27:04
字體:
供稿:網(wǎng)友

        時(shí)間長沒有更新了,這段時(shí)間一直忙著一個(gè)項(xiàng)目,今天就記錄一個(gè)現(xiàn)在經(jīng)常會(huì)用到的技術(shù)吧。

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

        那我們一般什么情況下才會(huì)使用緩存服務(wù)器呢?可不是什么情況都需要的哦,一般來說是在需要頻繁對(duì)一個(gè)字段讀取的時(shí)候才會(huì)需要將這個(gè)字段放入到緩存服務(wù)器上,而且由于key-value數(shù)據(jù)庫一般只是放很簡單的數(shù)據(jù),所以在選擇保存的對(duì)象的時(shí)候要注意選擇好。

        下面我就來介紹如何在Django中配置使用redis數(shù)據(jù)庫,首先是先安裝redis了,在Ubuntu中執(zhí)行下面這句命令:

#安裝Redis服務(wù)器端~ sudo apt-get install redis-server

        然后為了能在Django中使用redis,還需要安裝redis for Django的插件:

pip install django-redis

這是一個(gè)開源的項(xiàng)目,github地址是https://github.com/niwibe/django-redis,感謝作者。

        那么現(xiàn)在就是在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

其實(shí)只是需要CACHES中的那幾條就可以了,后面這三句可以不需要的,只是我后面的例子里需要用到,我就在這里配置了。

      好了,現(xiàn)在連接和配置都已經(jīng)完成了,那么在項(xiàng)目中該如何使用呢?接下來看下面這段例子吧。

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)

通過上面的這兩個(gè)方法就可以實(shí)現(xiàn)對(duì)redis的讀取操作了,只需要將需要的字段當(dāng)參數(shù)傳入到方法中就好了。

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

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

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 曲阳县| 大化| 蒙自县| 武宁县| 万年县| 墨竹工卡县| 林西县| 龙口市| 斗六市| 宁海县| 朝阳县| 隆昌县| 克山县| 毕节市| 虞城县| 文山县| 南昌县| 孟津县| 元谋县| 凤山市| 新营市| 荥经县| 华安县| 镇江市| 北宁市| 镇赉县| 开江县| 沛县| 莆田市| 教育| 滁州市| 余江县| 勐海县| 体育| 永新县| 临桂县| 双牌县| 谢通门县| 民勤县| 洛隆县| 黄石市|