zoukankan      html  css  js  c++  java
  • django-redis缓存

    背景和意义
    服务器数据非经常更新。若每次都从硬盘读取一次,浪费服务器资源、拖慢响应速度。而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张对应的表存储数据。在Django中建立表通常做法是建立一个模型。看似简单,问题调试麻烦、开发时长久。为了进行服务器的加速,使用Redis进行缓存。

    windown:

    1.安装redis

    Redis不支持Windows!在它官网写得很清楚。但是开发环境一般是Windows系统。为了方便开发和调试,需要在Windows中安装Redis。微软自己弄了Redis的Windows版本。打开https://github.com/MSOpenTech/redis/releases下载msi安装包。该版本是64位。安装msi过程中,有个选项是否加入系统环境变量,记得勾上。一路下一步,安装。完成之后打开cmd,输入redis-server命令查看是否可以使用。直接输入redis-server命令使用的配置文件是安装目录下的redis.windows.conf文件。
    若提示错误 “ConnectionError: Error 10061 connecting to None:6379”,可以如下操作,打开cmd输入如下命令

    redis-cli shutdown

    2.进入redis安装目录, 启动windown中的redis

    redis-server.exe  redis.windows.conf

    3.重新打开一个控制台,刚开始连接服务,因为初始没有密码,所以无需输入,即可连接服务。

    登陆命令

    redis-cli.exe -h 127.0.0.1 -p 6379 //无需添加密码参数

    4. 密码操作

    4.1 修改密码

    打开redis.windows.conf<如果没有此文件,需自己 http://download.redis.io/redis-stable/redis.conf,放置到redis目录下>,找到requirepass值修改密码,如下:
    # requirepass foobared
    requirepass yourpassword  //此处注意,行前不能有空格
     
    4.2 重新设置密码后,重新登录才能获取操作权限
    redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456     //需添加密码参数

    4.3 获取密码
    config get requirepass

    Django    settings.py

    # redis做缓存
    CACHES = {
        'default': {
            'BACKEND': 'django_redis.cache.RedisCache',
            'LOCATION': 'redis://127.0.0.1:6379',
            'OPTIONS': {
                'CLIENT_CLASS': 'django_redis.client.DefaultClient',
                'PASSWORD': 'requirepass',
            }
        }
    }
    REDIS_TIMEOUT=7*24*60*60
    CUBES_REDIS_TIMEOUT=60*60
    NEVER_REDIS_TIMEOUT=365*24*60*60

    下载包

    pip install django-redis

    测试

    进入django的后台命令模式:
    from django.core.cache import cache #引入缓存模块
    cache.set('data', '555', 60*60)      #写入key为v,值为555的缓存,有效期30分钟
    cache.has_key('data') #判断key为v是否存在
    cache.get('data')     #获取key为v的缓存

    更多命令请查看网址: https://django-redis-chs.readthedocs.io/zh_CN/latest/#

     设置redis开启启动: https://jingyan.baidu.com/article/20095761f30698cb0621b47e.html

  • 相关阅读:
    关于lockkeyword
    关于多层for循环迭代的效率优化问题
    Android 面试精华题目总结
    Linux基础回想(1)——Linux系统概述
    linux源代码编译安装OpenCV
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem C. Sometimes Naive (状压dp)
    校赛热身 Problem B. Matrix Fast Power
    校赛热身 Problem B. Matrix Fast Power
    集合的划分(递推)
  • 原文地址:https://www.cnblogs.com/aqiuboke/p/10609622.html
Copyright © 2011-2022 走看看