• 第二章、Redis入门介绍



    一、入门概述

    1.1、什么是 Redis ?
    • REmote DIctionary Server(远程字典服务器)。
    • 开源、C语言编写、遵守 BSD 协议、高性能的分布式内存数据库。也被称为数据结构服务器。
    • 与其他 key-value 数据库相比:
      • 支持持久化。
      • 提供 key-value 之外的数据类型存储。
      • 支持数据备份(master-slave 主从复制模式)。
    1.2、学习重点

    学习内容
    1、数据类型、基本操作和配置。
    2、持久化和复制、RDB/AODF
    3、事务的控制、管道、分布式锁和Lua脚本
    4、主从复制
    5、。。。

    二、Redis 安装

    2.1、Docker 安装 Redis 并以配置文件方式启动

    参考文章

    • 1、配置 redis.config 文件
    • 2、启动并创建 docker redis 容器。
    • 3、dockerfile 挂载数据卷创建单机 Redis 实例详情见 docker 学习笔记
    docker run -d --privileged=true -p 6379:6379 -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data --name myredis redis redis-server /etc/redis/redis.conf --appendonly yes

    命令参数解释:
    1、-p 6379:6379 端口映射。:前表示主机部分,:后表示容器部分。
    2、--name myredis 指定该容器名称,查看和进行操作都比较方便。
    3、-v 挂载目录,规则与端口映射相同。
    为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。
    4、-d redis 表示后台启动 redis,redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的 conf 文件,最终找到的是挂载的目录 /usr/local/docker/redis/redis.conf。
    5、--appendonly yes 开启 redis 持久化。

    注意:redis.conf 文件中的配置,如果不能正确启动,可使用 docker logs 容器名称 来查询错误信息。

    2.2、创建并运行单机 Redis 实例

    redis 单机启动实例:

    #1、创建文件夹

    mkdir redisSingle-6379
    #2、复制 redis.conf 到 redisSingle-6379 文件夹下

    cp /usr/local/redis-3.0.0/redis.conf /usr/local/redis-cluster/redisSingle-6379

    #3、启动
    /usr/local/redis-3.0.0/src/redis-server /usr/local/redis-cluster/redisSingle-6379/redis.conf


    三、Redis 启动后杂项基础知识讲解

    • 单进程

      1、单进程模型来处理客户端的请求。对读写等事件的响应是通过对 epoll 函数的包装来做到的。Redis 的实际处理速度完全依靠主进程的执行效率。

      2、epoll 是 Linux 内核为处理大批量文件描述符而作了改进的 epoll,是 Linux 下多路复用 IO 接口select/poll 的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统 CPU 利用率。

    • 默认数据库

      默认16个数据库,类似数组下表从零开始,初始默认使用零号库。

      设置数据库的数量,默认数据库为0,可以使用 SELECT 命令在连接上指定数据库 id。

    • 查看当前数据库 key 的数量

      dbsize 查看当前数据库的 key 的数量。

    • 清空数据库、通杀数据库

      flushdb:清空当前库

      Flushall;通杀全部库

    • 统一密码管理,16个库都是同样密码,要么都 OK 要么一个也连接不上。

    • Redis 索引都是从零开始。

  • 相关阅读:
    while循环和递归
    ASP.NET Core Swagger 显示接口注释
    ABP依赖注入
    EF Core 笔记
    .NET Core 管道过滤器扩展
    ABP权限认证
    552 you must authentication
    C# 多线程写文件,时常写不成功
    .Net 的一些插件
    多线程下HttpContext.Current 的问题
  • 原文地址:https://www.cnblogs.com/pengguozhen/p/13396703.html
Copyright © 2020-2023  润新知