安装 Redis(Linux 和 Windows)

1、安装

1.1、步骤(❗)

  1. 安装 gcc 依赖(Redis 基于 C 语言编写)

    yum install -y gcc tcl
    
  2. 准备 Redis 安装包:也可提前下载并上传。

    cd /usr/local/src
    
    wget https://download.redis.io/releases/redis-6.2.6.tar.gz
    
  3. 解压

    tar -zxvf redis-6.2.6.tar.gz
    
  4. 编译安装

    # 进入目录
    cd redis-6.2.6
    # 编译(耗时较长)
    make
    # 安装
    make install
    

1.2、目录结构

默认安装路径/usr/local/bin

  • redis-benchmark:性能测试
  • redis-check-aof:修复 AOF 文件(持久化
  • redis-check-rdb:修复 RDB 文件(持久化
  • redis-cli:命令行客户端
  • redis-sentinel:集群相关
  • redis-server:服务器启动命令

2、启动

启动方式

  • 前台运行(👎)
  • 后台运行(✔)
  • 系统服务(✔)

2.1、前台运行

Hint:阻塞整个会话窗口,会话关闭后 Redis 服务随之停止。

启动:在任意目录输入。

redis-server

2.2、后台运行(❗)

Hint:需要修改 Redis 配置文件。

  1. 复制配置文件(备份)

    cd /usr/local/src/redis-6.2.6
    
    cp redis.conf redis-backup.conf
    
  2. 修改配置:修改 redis.conf 的 daemon。

    # 允许后台运行
    daemonize yes 
    
  3. 启动:指定 redis.conf 文件。

    # 指定配置文件
    redis-server /usr/local/src/redis-6.2.6/redis.conf
    
  4. 停止

    • kill 进程

      # 查看进程 ID
      ps -ef | grep redis
      
      # 杀进程
      kill -9 进程ID
      
    • shut down 服务

      redis-cli [-a 密码] shutdown
      

2.2、系统服务(❗)

2.2.1、创建服务

创建系统服务,通过 Linux 指令管理服务。

Hint:需要配置后台运行,即 👉 本文 2.2。

  1. 新建系统服务

    vim /etc/systemd/system/redis.service
    
  2. 文件内容

    [Unit]
    Description=redis-server
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
    
  3. 重载系统服务

    systemctl daemon-reload
    

2.2.2、指令

  1. 查看状态

    systemctl status redis
    
  2. 启停

    # 启动
    systemctl start redis
    
    # 重启
    systemctl restart redis
    
    # 停止
    systemctl stop redis
    
  3. 开机自启

    systemctl enable redis
    

3、客户端(❗)

类型

  1. 命令行
  2. 可视化界面(Windows)
  3. 编程客户端

3.1、命令行

Redis 自带命令行客户端:redis-cli

  • options:常用选项如下

    • -h:指定连接 IP 地址,默认 127.0.0.1
    • -p:指定连接端口号,默认 6379
    • -a:指定访问密码(如果有)
  • commands:操作命令。通常不指定,直接进入命令行客户端。

    redis-cli [options] [commands]
    

3.2、可视化界面

3.2.1、配置(❗)

Hint:确认虚拟机可访问,以排除网络问题(本地 ping 虚拟机 IP)

  1. Redis 监听地址

    • 配置文件的 bind 表示服务器监听地址。

    • 默认 127.0.0.1(服务器本地),改为 0.0.0.0(任意可访问)

      vim /usr/local/src/redis-6.2.6/redis.conf
      
      # bind 0.0.0.0
      
  2. 端口防火墙

    • 查看端口状态:no 表示未开启

      firewall-cmd --query-port=6379/tcp
      
    • 永久开放端口

      firewall-cmd --add-port=6379/tcp --permanent
      
  3. 重启防火墙和 Redis

    systemctl restart firewalld
    systemctl restart redis
    

3.2.2、安装 & 连接

RedisDesktopManager-Windows

非官方,GitHub 大佬开发。

  1. 安装:下载 .zip 后缀安装包,解压并执行 .exe 文件即可。

  2. 连接

    image

界面

image

4、配置文件

redis.conf

Hint此部分未整理,仅供参考

Units

  • 配置大小单位,只支持 bytes,不支持 bit。
  • 大小写不敏感。

INCLUDES

多实例下,可以提取公用的配置文件,。

NETWORK

bind

  • 默认:bind = 127.0.0.1,只能接受本机的访问请求。
  • 不写:接受任何 ip 地址的访问。

protected-mode

  • 将本机访问保护模式设置 no。
  • 若为 yes,且没有设定 bind 的 ip、没有设置密码,Redis 只接受本机访问。

port

端口号,默认 6379。(服务器需开启端口映射)

tcp-backlog

backlog 是连接队列

  • 队列总和 = 未完成三次握手队列 + 已经完成三次握手队列。
  • 高并发下,需要高 backlog 值来避免慢客户端连接问题。

timeout

空闲客户端的维持时间(秒),0 表示永不关闭。

tcp-keepalive

  • 对访问客户端的心跳检测,每 n 秒检测一次。
  • 0 则不会进行检测,建议值 60。

GENERAL

daemonize

  • 是否为后台进程,设置为 yes。
  • 守护进程,后台启动。

pidfile

存放 pid 文件的位置,每个实例会产生一个 pid 文件。

loglevel

日志级别

  • debug
  • verbose
  • notice(默认)
  • warning

logfile

日志文件名(默认为空,即不记录日志)

database

  • 数据库的数目,默认16。
  • 默认 0 号库,使用 SELECT <dbid> 连接指定 ID 的数据库。

SECURITY

访问密码的查看、设置和取消。

  • 在命令中设置的是临时密码,重启 redis 服务器则失效。
  • 在配置文件中进行永久设置。

LIMITS

maxclients

  • 设置 Redis 最大客户端连接数,默认 10,000。
  • 若达到最大值,Redis 拒绝新的连接请求,并向连接请求方发送 max number of clients reached。

maxmemory

设置 Redis 可使用的内存量。

  • 达到使用上限时,Redis 会尝试移除内部数据,使用 maxmemory-policy 指定移除规则。
  • 若达到上限且无法移除数据,Redis 对需要申请内存的指令返回错误信息(如 SET、LPUSH)。
  • 建议设置,否则,将内存占满,造成服务器宕机。

maxmemory-policy

  • volatile-lru:LRU 算法,移除设置了过期时间的 key。
  • allkeys-lru:LRU 算法,移除所有 key。
  • volatile-random:随机移除,针对设置了过期时间的 Key。
  • allkeys-random:随机移除,针对所有集合中的 Key。
  • volatile-ttl:移除 TTL 值最小的 key(即将过期的)
  • noeviction:不移除,针对写操作返回错误信息。
  • maxmemory-samples:设置样本数量
    • LRU 算法和最小 TTL 算法都是估算值。
    • 设置样本数量,redis 默认会检查指定数量的 key 并适用 LRU 算法。
    • 一般设置 3 到 7 的数字,数值越小样本越不准确,但性能消耗越小。

附 - Windows 版

下载 Redis(安装包或压缩包)

以压缩包为例。

  1. 创建 Redis 文件夹:存放压缩包解压后的文件。

    image

  2. 配置环境变量:高级系统设置 → 环境变量 → 系统变量(path),添加 Redis 文件夹路径。

    image

创建 Redis 服务

进入 CMD 命令行

  1. 安装服务:安装 Windows 服务,用于后台启动。

    # 方式一
    redis-server --service-install redis.windows.conf --loglevel verbose
    
    # 方式二:区别在于绑定的配置文件不同
    redis-server --service-install redis.windows-service.conf --loglevel verbose
    
  2. 后台启动

    # 后台启动
    redis-server --service-start
    # 停止
    redis-server --service-stop
    
  3. 卸载服务

    redis-server --service-uninstall
    
posted @ 2022-09-16 17:15  Jaywee  阅读(265)  评论(0编辑  收藏  举报

👇