django 缓存redis 使用


对于一些计算量比较大值,可能希望缓存在内存里边。。。

先安装

#sudo aptitude install redis-server

#pip install django-redis

django的setting.py里面

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

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 

然后,写个redis_cache.py

#/usr/bin/env python
# encoding:utf-8

import json

from django.conf import settings
from django.core.cache import cache

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

def write_to_cache(self, user_name):
    key = 'user_id_of_' + user_name
    cache.set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)

好了,然后,在需要的地发调用read or write 需要cache的key,value就可以了


文章作者: 燕君
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 燕君 !
 上一篇
如何存储上千万张图片合适? 如何存储上千万张图片合适?
如何存储上千万张图片,而且还允许获取的时候可以快速获取到? 用个小办法:一级目录只能放1000个文件夹不能放图片,二级目录只能放图片不能创建图片,图片数目大于200个就再创一个目录 一级目录满1000个文件夹后,再创一个目录 python的
2016-12-27
下一篇 
给mysql的查询结果添加一个字段 给mysql的查询结果添加一个字段
给数据库的查询结果,想添加一个日期字段,可以在python转换,但是需要再次遍历查询的结果…有字段日期,然后,想看到2018-01-01还有多少天 mysql> select str_to_date("2018-01-01", "%Y
2016-12-22
  目录