zoukankan      html  css  js  c++  java
  • Redis操作指南

    Redis安装与使用教程

    一、Redis介绍

    1、redis安装

    """
    1、官网下载:安装包或是绿色面安装
    2、安装并配置环境变量
    """
    

    2、redis与mysql的异同

    """
    redis: 内存数据库(读写快)、非关系型(操作数据方便、数据固定)
    mysql: 硬盘数据库(数据持久化)、关系型(操作数据间关系、可以不同组合)
    
    大量访问的临时数据,才有redis数据库更优
    """
    

    3、redis与memcache的异同

    """
    redis: 操作字符串、列表、字典、无序集合、有序集合 | 支持数据持久化(数据丢失可以找回(默认持久化,主动持久化save)、可以将数据同步给mysql) | 高并发支持
    memcache: 操作字符串 | 不支持数据持久化 | 并发量小
    """
    

    二、Redis操作

    1、启动服务

    """
    前提:前往一个方便管理redis持久化文件的逻辑再启动服务:dump.rdb
    1)前台启动服务
    >: redis-server
    2)后台启动服务
    >: redis-server --service-start
    3)配置文件启动服务
    >: redis-server 配置文件的绝对路径
    >: redis-server --service-start 配置文件的绝对路径
    eg>: redis-server --service-start D:/redis/redis.conf
    """
    

    2、密码管理

    """
    1)提倡在配置文件中配置,采用配置文件启动
    requirepass 密码
    
    2)当服务启动后,并且连入数据库,可以再改当前服务的密码(服务重启,密码重置)
    config set requirepass 新密码
    
    3)连入数据库,查看当前服务密码密码
    config get requirepass
    """
    

    3、连接数据库

    """
    1)默认连接:-h默认127.0.0.1,-p默认6379,-n默认0,-a默认无
    >: redis-cli
    
    2)完整连接:
    >: redis-cli -h ip地址 -p 端口号 -n 数据库编号 -a 密码
    
    3)先连接,后输入密码
    >: redis-cli -h ip地址 -p 端口号 -n 数据库编号
    >: auth 密码
    """
    

    4、关闭服务

    """
    1)在没有连接进数据库时执行
    >: redis-cli shutdown
    
    2)连接进数据库后执行
    >: shutdown
    """
    

    5、切换数据库

    """
    1)在连入数据库后执行
    >: select 数据库编号
    """
    

    6、数据持久化

    """
    1)配置文件默认配置
    save 900 1  # 超过900秒有1个键值对操作,会自动调用save完成数据持久化
    save 300 10  # 超过300秒有10个键值对操作,会自动调用save完成数据持久化
    save 60 10000  # 超过60秒有10000个键值对操作,会自动调用save完成数据持久化
    
    2)安全机制
    # 当redis服务不可控宕机,会默认调用一下save完成数据持久化
    
    3)主动持久化
    >: save  # 连入数据库时,主动调用save完成数据持久化
    
    注:数据持久化默认保存文件 dump.rdb,保存路径默认为启动redis服务的当前路径
    """
    

    三、Redis数据类型

    redis的基本数据结构主要有以下几种:

    • String: 字符串
    • Hash: 散列
    • List: 列表
    • Set: 集合
    • Sorted Set: 有序集合

    1、String: 字符串

    set key value
    get key
    mset k1 v1 k2 v2 ...
    mget k1 k2 ...
    setex key exp value
    incrby key increment
    

    2、Hash: 散列、字典

    hset key field value
    hget key field
    hmset key field1 value1 field2 value2 ...
    hmget key field1 field2
    hkeys key
    hvals key
    hdel key field
    

    3、List: 列表

    rpush key value1 value2 ...
    lpush key value1 value2 ...
    lrange key bindex eindex
    lindex key index
    lpop key | rpop key
    linsert key before|after old_value new_value
    

    4、Set: 集合

    sadd key member1 member2 ...
    sdiff key1 key2 ...
    sdiffstore newkey key1 key2 ...
    sinter key1 key2 ...
    sunion key1 key2 ...
    smembers key
    spop key
    

    5、Sorted Set: 有序集合

    zadd key grade1 member1 grade2 member2 ...
    zincrby key grade member
    zrange key start end
    zrevrange key start end
    

    四、python使用redis

    1、安装依赖

    >: pip3 install redis
    

    2、直接使用

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

    3、连接池使用

    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)
    

    五、django使用redis作为缓存数据库

    需要额外安装 django-redis

    # 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,
                "PASSWORD": "",
            }
        }
    }
    
    # 2.操作cache模块直接操作缓存:views.py
    from django.core.cache import cache  # 结合配置文件实现插拔式
    # 存放token,可以直接设置过期时间
    cache.set('token', 'header.payload.signature', 300)
    # 取出token
    token = cache.get('token')
    
  • 相关阅读:
    多线程中static对象
    DPDK l2fwd 浅注
    DPDK编译步骤
    什么是API,SDK和API之间的关系
    linux创建定时任务发送钉钉通知
    python-webdriver中添加cookie,解决添加了图片验证码的问题
    win7下CodeIgniter安装
    XAMPP环境搭建及同类推荐
    Fiddler死活抓不了HTTPS包解决办法
    XSS注入常用语句积累
  • 原文地址:https://www.cnblogs.com/bowendown/p/12599911.html
Copyright © 2011-2022 走看看