广告位联系
返回顶部
分享到

Django使用Redis进行缓存详细步骤

Redis 来源:互联网 作者:佚名 发布时间:2022-08-29 21:43:14 人浏览
摘要

1.背景和意义 服务器数据非经常更新。若每次都从硬盘读取一次,浪费服务器资源、拖慢响应速度。而且数据更新频率较高,服务器负担比较大。若保存到数据库,还需要额外建立一张

1.背景和意义

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

2.配置步骤如下

1,服务器端安装 redis

1

2

3

4

5

(1)在Windows安装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` ,再执行redis-server即可。

(2)在ubuntu下安装,针对部署

`sudo apt-get install redis-server`

2,Redis 访问控制

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# 默认情况下,访问 Redis 服务器是不需要密码的,为了让其他服务器使用同时增加安全性我们需要设置 Redis 服务器的访问密码。设置访问密码为 yourpassword。

# 由于 redis 默认绑定本机的,所以第一步取消该设置:

`sudo vim /etc/redis/redis.conf`

# 用vim打开该配置文件,然后注释掉下面这行:

`# bind 127.0.0.1`

# 然后设置登录密码,用vim打开配置文件,配置文件较长,命令模式下输入`/requirepass foobared`快速搜索该配置项:

# 编辑配置文件

`sudo vim /etc/redis/redis.conf`

# 找到下面这一行并去除注释(可以搜索requirepass)

# requirepass foobared 未修改之前

# 修改之后

`requirepass 123456789` # 假设123456789是我的redis密码

# 修改后重启服务器使配置生效:

`sudo /etc/init.d/redis-server restart`

# 此时在登录redis,权限被控制

root@VM-60-191-ubuntu:~# redis-cli

127.0.0.1:6379> keys *

(error) NOAUTH Authentication required.

# 用密码登录,具有权限

root@VM-60-191-ubuntu:~# redis-cli -a 123456789

127.0.0.1:6379> keys *

1) "key2"

# 通过以下命令从另一台linux服务器访问redis, password替换为你的密码,host替换为要访问的服务器

`redis-cli -a password -h hostip`

# 数据库的数量是可以配置的,不知道数据库就是数据库0,默认情况下是16个。修改redis.conf下的databases指令:

`databases 64`

3,安装django-redis和settings配置

1

pip install django-redis

settings.py中加入以下内容,your_host_ip换成你的服务器地址, yoursecret换成你的服务器密码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

CACHES = {

    'default': {

        'BACKEND': 'django_redis.cache.RedisCache',

        'LOCATION': 'redis://your_host_ip:6379',

        "OPTIONS": {

            "CLIENT_CLASS": "django_redis.client.DefaultClient",

             "PASSWORD": "yoursecret",

        },

    },

}

 

 

REDIS_TIMEOUT=7*24*60*60

CUBES_REDIS_TIMEOUT=60*60

NEVER_REDIS_TIMEOUT=365*24*60*60

# cache中的是必须的,下面三条可有可无(超时设置啥的)

4,测试缓存是否成功

为了测试看可否正常使用 redis , 进入django的后台命令模式:

1

python manage.py shell

逐条输入如下命令测试:

1

2

3

4

from django.core.cache import cache # 引入缓存模块

cache.set('v', '555', 60*60)      # 写入key为v,值为555的缓存,有效期30分钟

cache.has_key('v') # 判断key为v是否存在

cache.get('v')     # 获取key为v的缓存


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 : https://www.cnblogs.com/amgulen/p/16635760.html
相关文章
  • spring boot集成redis基础入门实例介绍
    redis 支持持久化数据,不仅支持key-value类型的数据,还拥有list,set,zset,hash等数据结构的存储。 可以进行master-slave模式的数据备份 更多
  • redis批量操作pipeline管道操作方法

    redis批量操作pipeline管道操作方法
    redis | pipeline(管道) 背景 Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。这意味着通常情况下一个请求会遵循以下步骤: 客户
  • springboot整合使用云服务器上的Redis方法

    springboot整合使用云服务器上的Redis方法
    一、前提条件 修改redis.conf配置文件 1、protected-mode yes(默认的) 修改成 protected-mode no,解除保护模式 2、注释掉绑定ip ,绑定ip的话,使得
  • 阿里云服务器部署Redis并整合Spring Boot的介绍

    阿里云服务器部署Redis并整合Spring Boot的介绍
    一、什么是Redis redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zs
  • 生产redisson延时队列不消费问题排查解决

    生产redisson延时队列不消费问题排查解决
    问题描述 项目使用redisson延时队列功能,实现直播的开播提醒,突然有一天业务爆出问题,未触发开播提醒。 初步排查 首先通过查询生产日
  • Redis主从复制分步讲解使用

    Redis主从复制分步讲解使用
    主服务器(master)启用二进制日志 选择一个唯一的server-id 创建具有复制权限的用户 从服务器(slave)启用中继日志, 选择一个唯一的serv
  • Redis中HyperLogLog的使用介绍
    HyperLogLog,基数统计; 那什么是基数? 比如有两个数组 数组A = [1,2,3,4,5]; 数组B = [3,4,5,6,7]; 这时候基数就是[1,2,3,4,5,6,7],总共有7个数; 就是
  • Redis中的持久化介绍

    Redis中的持久化介绍
    1. 前言 为什么要进行持久化?:持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据
  • Redis源码设计剖析之事件处理示例介绍

    Redis源码设计剖析之事件处理示例介绍
    1. Redis事件介绍 Redis服务器是一个 事件驱动程序 ,所谓事件驱动就是输入一条命令并且按下回车,然后消息被组装成 Redis 协议的格式发送给
  • Mysql应用安装后找不到my.ini文件的解决过程

    Mysql应用安装后找不到my.ini文件的解决过程
    一、背景 我在两台电脑上安装了MySQL Server 8.0,准备继续做主从配置,这时候就需要用到my.ini文件进行配置,但是我找不到my.ini文件。 我的
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计