zoukankan      html  css  js  c++  java
  • Redis数据库

    Redis

    Redis简介

    Redis是完全开源免费的,遵守B SD协议,是一个高性能的key-value数据库。其具有以下三种特点:

      1)Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

      2)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

      3)Redis支持数据的备份,即master-slave模式的数据备份。

     优势:

      1)redis支持更多的数据类型。如:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合)。

      2)redis自带缓存机制,即使出现数据库崩溃,数据也是可以找回的。

      3)redis可以主动完成数据持久化(自带数据持久化功能)

      4)redis的数据过期机制也是可以自身完成

    Redis数据类型

    # 支持的数据类型:String(字符串)、Hash(散列)、List(列表)、Set(集合)、Sorted Set(有序集合)。

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

    Redis安装

    Redis下载地址:https://github.com/MSOpenTech/redis/releases。(window版本)

    命令行简单使用redis:
    redis-cli             # 启动客户端
    set key value         # 设置值
    get key               # 取出值        

     Redis基础命令

    # 启动服务:
    >: redis-server &
    
    # 启动客户端连接redis
    >: redis-cli -h localhost -p 6379 -n 数据库编号(0~15)
    
    # 连接成功后切换数据库
    >: select 数据库编号

    哈希操作

    """
    常用方法:
    单增:hset key field value
    单查:hget key field
    所有键值:hgetall key
    单删:hdel key field
    所有key:hkeys key
    所有值:hvals key
    """

    列表操作

    """
    右增: 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
    """

    集合操作

    """
    增:sadd key v1 v2 ... vn
    差集:sdiff key1 key2
    并集:sinter key1 key2
    交集:sunion key1 key2
    查:smembers key
    随机删:spop key
    """

    有序集合

    """
    增: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

    # 在Terminal内完成安装
    >: pip3 install redis
    
    # 直接使用
    import redis
    r = redis.Redis(host='127.0.0.1', port=6379)
    
    # 连接池使用
    import redis
    pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
    r = redis.Redis(connection_pool=pool)

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

    # 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')

     

  • 相关阅读:
    汉语-词语:养生
    汉语-词语:道家美学
    汉语-词语:审美
    人物-书法家:王羲之
    人物-道家:庄子
    汉语-词语:含蓄
    关于finfo_file函数获取文件mime值验证出错的问题
    第一个Hello,OS World操作系统
    Lead软件项目半年感受
    Cts框架解析(15)-任务运行完
  • 原文地址:https://www.cnblogs.com/blue-tea/p/11770452.html
Copyright © 2011-2022 走看看