• [学习记录] Redis 2. 安装和相关知识


    Redis 2. 安装和相关知识

    参考课程:https://www.bilibili.com/video/BV1Rv41177Af

    参考书:https://blog.csdn.net/liu8490631/article/details/124290851

    官方文档

    1. 安装 Redis(version 6.2.7)

    环境 CentOS 7.4

    1.1 安装步骤(Docker)

    1.1.1 下载 Redis 的配置文件

    下载地址

    新建数据和配置目录:

    mkdir ./data
    mkdri ./conf
    cd ./conf
    
    • 1
    • 2
    • 3

    下载配置文件:

    wget -O redis.conf https://raw.githubusercontent.com/redis/redis/6.2/redis.conf
    
    • 1

    复制一份不加注释行和空行的的配置文件:

    grep -v '^#' redis.conf | grep -v '^$' > myredis.conf
    
    • 1
    1.1.2 写 docker-compose.yml 文件
    version: '3.8'
    
    services:
      myredis:
        container_name: myredis
        image: redis:6.2.7
        restart: always
        ports:
          - 6379:6379
        privileged: true # 给Root权限
        command: redis-server /etc/redis/redis.conf 
        volumes:
          - $PWD/data:/data
          - $PWD/conf/myredis.conf:/etc/redis/redis.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    1.1.3 启动
    docker-compose up -d
    
    • 1

    在这里插入图片描述

    docker stats myredis # 查看 CPU,内存使用状态
    docker logs myredis # 查看日志
    
    • 1
    • 2

    1.2 启动方式(Docker可不看)

    1. 前台启动(不推荐)
      • $ redis-server
    2. 后台启动(推荐)
      • 先复制 redis.conf 文件,将其中的 daemonize no 改为 yes,让服务在后台启动
      • $ redis-server redis.conf的路径
      • ps -ef | grep redis 可以查看到 redis 的进程

    1.3 客户端访问

    1. redis-cli 命令
    2. 多个端口:redis-cli -p 6379

    1.4 Redis 关闭

    1. $ kill -9 Redis进程号
    2. $ redis-cli shutdown
    3. 指定端口关闭:redis-cli -p 6379 shutdown

    2. Redis 相关知识

    2.1 默认数据库

    默认有 16 个数据库,初始默认使用 0 号库,可以使用 select 切换数据库

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

    dbsize
    
    • 1

    2.3 清空库

    • fulshdb 清空当前库
    • flushall 清空全部库

    2.4 单线程 + 多路 IO 复用技术★★★★★

    IO 多路复用指的是使用一个线程来监听多个文件描述符(Socket)的就绪状态,比如调用 selectpollepoll 函数,传入多个 Socket,如果有一个 Socket 就绪,则返回,否则阻塞直到超时。

    得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

    简单讲:多个客户端 Socket 复用一个服务器线程。

    参考:https://zhuanlan.zhihu.com/p/366969257

  • 相关阅读:
    MySQL锁机制
    leetcode 28. 实现 strStr() (KMP算法实现)
    数据类型(详解)
    fusion cube
    axure制作菜单下拉、隐藏、点击选中效果
    Python实现的快速排序代码
    ROS系统通过类定义实现数据处理并重新发布在另一话题
    二叉树题目:二叉树寻路
    字符串基本操作(HNU)
    Java/Lombok Slf4j日志配置输出到文件中
  • 原文地址:https://blog.csdn.net/qq_39906884/article/details/126742673