美文网首页
Redis缓存在django应用中的应用配置

Redis缓存在django应用中的应用配置

作者: 金融测试民工 | 来源:发表于2020-11-26 20:47 被阅读0次

Redis,一款高性能key-value数据库,django应用常用redis 作为缓存,话不多说,直奔主题。

一, REDIS服务安装与配置

1,源码安装

直接源码安装:

源码下载:

tar xzf redis-4.0.2.tar.gz

$ cd redis-4.0.2

$ make

在src目录下会生成四个可执行文件,拷贝到同一个目录下

mkdir /usr/local/redis

cp redis-server /usr/local/redis

cp redis-benchmark /usr/local/redis

cp redis-cli /usr/local/redis

cp redis.conf /usr/local/redis

cd /usr/local/redis

为了django能够使用redis ,需要安装django-redis, pip安装:

pip install django-redis

2,配置

vi  /usr/local/redis/redis.conf  

(1)以守护进程方式运行  

daemonize yes  (默认为no)

(2) 任意目录下执行  

appendonly yes

(3)监听本机6379端口

bind *.*.*.*(本机IP)_

port 6379

(4)日志文件配置

logfile /var/log/redis/redis.log

启动:

resdis-server   /usr/local/redis/redis/conf

配置自启动:

echo "/usr/local/resdis/redis-server /etc/redis/redis.conf" >> /etc/rc.d/rc.local  

二,django 配置redis作为缓存

CACHES = { 'default': { 'BACKEND':'django_redis.cache.RedisCache', 'LOCATION': 'redis://your_host_ip:6379',"OPTIONS": { "CLIENT_CLASS":"django_redis.client.DefaultClient", "PASSWORD":"yoursecret", }, }, }

以下为可选配置,根据需要自行设定:

REDIS_TIMEOUT=24*60*60

CUBES_REDIS_TIMEOUT=60*60

NEVER_REDIS_TIMEOUT=365*24*60*60

三,缓存使用:

简单讲一下使用redis进行数据的缓存和提取,

方法引入:

from django.core.cache import cache

或使用django自带的缓存装饰器:

from django.views.decorators.cache import cache_page

(1) 数据存入缓存:

缓存写入方法定义示例:

def  set_key_value(key_name, value):

cache.set(key, json.dumps( value),settings.NEVER_REDIS_TIMEOUT)

django自带一些装饰器, 如cache_page可以对页面进行缓存,使用方法大致如下:

from django.views.decorators.cache import cache_page

@cache_page(24*3600)  #缓存一天

def test(request):

    pass

(2) 缓存中提取数据

方法定义示例

def  get_key_value(key):

value = cache.get(key)

if value == None:

    data = None

else:

    data = json.loads(value)

以上写入和读取缓存键值的方法可以直接函数调用,亦可以封装为装饰器使用,形如:

def wr_decorat or(func):

    '''缓存写入/读取装饰器,

    :param func:

    :return:

    '''

    def wrapper(request,*args,**kwargs):

pass #读写缓存实现

    return wrapper

使用时直接在方法顶部引入装饰器即可,在此不作进一步阐述。

           以上简单阐述了redis服务器的搭建以及django项目以redis为缓存的配置使用方法,希望对有需要的同学提供参考帮助。

相关文章

网友评论

      本文标题:Redis缓存在django应用中的应用配置

      本文链接:https://www.haomeiwen.com/subject/nqiziktx.html