• Redis 使用


    1 redis缓存数据库

    Redis命令参考

    1.介绍

    redis 默认 端口 6379

    redis: 读写快, 非关系型(操作数据方便), 并发高,单线程
    mysql: 数据持久化, 关系型(操作数据间关系)
    
    redis缓存数据库,数据存到内存,读取速度快,但有内存限制
    应用场景:页面缓存,好处如下
        1、减少数据库压力,提升访问速度
        2、在数据挂掉的情况下,仍能保证业务正常运行一段时间,提升安全性
    

    2.redis 数据类型

    redis:支持五大类型

    String:(字符串)存储其他类型不能存的所有数据
    Hash:(哈希类型) 存储 key-value 形式数据,类似于字典
    List:(列表)存储 一系列有序value 形式数据,列表(数组)
    Set:( 集合 )存储 一系列无序value 形式数据,集合
    Sorted Set:(有序集合 (zset))存储 有排列标号value 形式数据,排行
    

    3.相关资源

    Redis 官网:https://redis.io/

    下载地址:https://github.com/MSOpenTech/redis/releases。

    可视化安装包 地址 https://gitee.com/lddragon/redis_win_installation_package

    2.使用

    1.启动客户端

    # 启动客户端
    redis-cli  
    # 完整启动客户端
    redis-cli -h 127.0.0.1 -p 6379 -n '数据库序号' -a '密码'
    # 关闭客户端
    reids-cli shutdown 
    

    2.启动服务端

    1. 打开一个 cmd 窗口 使用 cd 命令切换目录到 C: edis 运行:
    redis-server redis.windows.conf # 配置文件中可直接修改配置 自定义配置(复制一份自己的修改)
    
    1. 直接启动
    redis-server
    

    3. 操作

    切换数据库:

    127.0.0.1:6379> select 1  # 切换数据库 默认有 0-15 个 库 连接时可使用 -n 指定 第几个
    

    设置键值对:

    127.0.0.1:6379[1]> set key vaule
    OK
    

    取出键值对:

    127.0.0.1:6379[1]> get key
    'vaule'
    # 读取不到 返回(ni1)
    

    主动持久化:

    127.0.0.1:6379[1]> save
    OK
    # 当你的服务器死了以后他会将所有的数据保存到硬盘中 目录在当前启动文件目录下的 dump.rdb 文件 (配置文件可以修改文件名)
    
    # 配置文件配置 save <seconds> <changes>
    save 900 1 # 超过900秒有1个键值对操作, 会自动调用save完成数据持久化
    save 300 10 # 超过300秒有10个键值对操作, 会自动调用save完成数据持久化
    save 60 10000 # 超过60秒有10000个键值对操作, 会自动调用save完成数据持久化
    

    配置文件:

    Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf(Windows 名为 redis.windows.conf)

    你可以通过 CONFIG 命令查看或设置配置项

    127.0.0.1:6379> CONFIG GET dbfilename
    1) "dbfilename"
    2) "dump.rdb"
    

    使用 ***** 号获取所有配置项:

    127.0.0.1:6379> CONFIG GET *
    

    你可以通过修改 redis.conf 文件或使用 CONFIG set 命令来修改配置。

    127.0.0.1:6379> CONFIG SET config_name new_config_value
    
    127.0.0.1:6379> CONFIG SET loglevel "notice"
    OK
    127.0.0.1:6379> CONFIG GET loglevel
    1) "loglevel"
    2) "notice"
    

    想学深可以看看:菜鸟教程的 redis 配置文件参数

    3.python使用redis

    依赖

    >: pip install redis
    

    直接使用

    import redis
    r = redis.Redis(host='127.0.0.1', port=6379, db=1, password=None, decode_responses=True)
    

    连接池的使用

    import redis
    pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=1, max_connections=100, password=None, decode_responses=True)
    r = redis.Redis(connection_pool=pool)
    

    4 .缓存使用:要额外安装 django-redis

    安装

    pip install django-redis
    

    配置

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    

    url格式举例

    redis://[:password]@localhost:6379/0
    rediss://[:password]@localhost:6379/0
    unix://[:password]@/path/to/socket.sock?db=0
    
    # 1.将缓存存储位置配置到redis中:settings.py
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/0",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections": 100},
                "DECODE_RESPONSES": True,
                "PSAAWORD": "",
            }
        }
    }
    
    # 2.操作cache模块直接操作缓存:views.py
    from django.core.cache import cache  # 结合配置文件实现插拔式
    
    # 存放token,可以直接设置过期时间
    cache.set('token', 'header.payload.signature', 300)
    # 取出token
    token = cache.get('token')
    
  • 相关阅读:
    Django准备知识-web应用、http协议、web框架、Django简介
    Django
    MySQL(基本语句)
    jsvascript === 和==的区别
    控制input只能输入1-200范围的数字
    删除数组中指定的某个元素
    微信授权登陆绑定
    通过GZ代替document.getElementById()
    判断浏览器版本
    截取逗号后面所有字符
  • 原文地址:https://www.cnblogs.com/lddragon1/p/12255706.html
Copyright © 2020-2023  润新知