zoukankan      html  css  js  c++  java
  • redis 数据库简介

    redis数据库

     

    redis数据库

    为什么要学习redis
    1
    2
    3
    4
    5
    6
    7
    8
    9
    """
    1、redis是内存 no-sql 数据库,相比mysql等硬盘数据库效率高
    2、在内存值配置数据库使用,而不直接使用内存,redis存储的数据是可以管理的
    3、memcache也是内存数据库,且django默认采用的就是memcache数据库,用redis替换memcache的路由很简单,后者更强大
        redis支持更多的数据类型
        redis自带缓存机制,出现数据库系统崩溃数据也是可以有找回的功能
        redis可以主动完成数据持久化(自带数据持久化功能)
        redis的数据过期时间机制也可以自身完成
    """
    redis安装
    redis数据类型
    1
    注:在官网安装系统版本,下载对应安装包安装即可
    1
    2
    3
    4
    5
    6
    7
    8
    9
    """
    支持的数据类型:String、Hash、List、Set、Sorted Set
    String:存储其他类型不能存的所有数据
    Hash:存储 key-value 形式数据,类似于字典
    List:存储 一系列有序value 形式数据,列表(数组)
    Set:存储 一系列无序value 形式数据,集合
    Sorted Set:存储 有排列标号value 形式数据,排行
    """
    字符串类型
    1
    2
    3
    4
    5
    6
    7
    """ 重要方法
    set:key value
    get:key
    mset:k1 v1 k2 v2 ... kn vn
    mget:k1 k2 ... kn
    setex:key exp value
    """

    redis

    基础命令
    1
    2
    3
    4
    5
    6
    7
    8
    启动服务:
    >: redis-server &
    启动客户端连接redis
    >: redis-cli -h localhost -p 6379 -n 数据库编号(0~15)
    连接成功后切换数据库
    >: select 数据库编号
    哈希操作
    1
    2
    3
    4
    5
    6
    7
    8
    9
    """
    常用方法:
    单增:hset key field value
    单查:hget key field
    所有键值:hgetall key
    单删:hdel key field
    所有key:hkeys key
    所有值:hvals key
    """
    列表操作
    1
    2
    3
    4
    5
    6
    7
    8
    9
    """
    右增: rpush key v1 v2 ... vn
    左增: lpush key v1 v2 ... vn
    修改: lset key index value
    左删: lpop key
    右删: rpop key
    插入:linsert key before|after old_value new_value
    区间:lrange key begin_index end_index
    """
    集合操作
    1
    2
    3
    4
    5
    6
    7
    8
    """
    增:sadd key v1 v2 ... vn
    差集:sdiff key1 key2
    并集:sinter key1 key2
    交集:sunion key1 key2
    查:smembers key
    随机删:spop key
    """
    有序集合
    1
    2
    3
    4
    5
    6
    """
    增:zadd key score1 value1 score2 value2 ... scoren valuen
    区间个数:zcount key begin_score end_score
    排行低到高:zrange key begin_index end_index
    排行高到低:zrevrange key begin_index end_index
    """

    python使用redis

    依赖
    1
    >: pip3 install redis 
    直接使用
    1
    2
    import redis
    r = redis.Redis(host='127.0.0.1', port=6379) 
    连接池使用
    1
    2
    3
    import redis
    pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
    r = redis.Redis(connection_pool=pool) 
    缓存使用:要额外安装 django-redis
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    # 1.将缓存存储位置配置到redis中:settings.py
    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "CONNECTION_POOL_KWARGS": {"max_connections": 100}
            }
        }
    }
    # 2.操作cache模块直接操作缓存:views.py
    from django.core.cache import cache  # 结合配置文件实现插拔式
    # 存放token,可以直接设置过期时间
    cache.set('token', 'header.payload.signature', 10)
    # 取出token
    token = cache.get('token')
     
     
  • 相关阅读:
    没有spring如何使用注解下篇
    在没有spring框架如何使用注解上篇
    oracle11g里sqldeveloper不能打开的问题
    java代码换行
    枚举接口Enumeration
    java开发环境的搭建(上班笔记01)
    2013.12.12-2013.12.22面试
    2013.12.12-2013.12.20面试
    supervisor superlance
    Laravel 返回日期问题2021-07-23T05:56:03.000000Z
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/11769188.html
Copyright © 2011-2022 走看看