下载地址

安装步骤

  • 下载:wget https://download.redis.io/releases/redis-6.0.9.tar.gz
  • 解压:tar -xvf redis-xxx.tar.gz
  • 进入解压目录:cd redis-xxx/
  • 编译(需要先安装 gcc):make

    make 时报错:make[1]: * [server.o] Error 1 原因是 gcc 版本过低,yum 安装的 gcc 是 4.8.5,因此需要升级 gcc:

    • yum -y install centos-release-scl
    • yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    • scl enable devtoolset-9 bash
    • echo “source /opt/rh/devtoolset-9/enable” >> /etc/profile
    • gcc -v
  • 编译完成后安装(或者直接安装到/usr/local/bin目录,即去掉prefix参数):make install PREFIX=/usr/redis

  • Redis可执行文件说明:
    • redis-server:Redis服务器
    • redis-cli:Redis命令行客户端
    • redis-benchmark:Redis性能测试工具
    • redis-check-aof:AOF文件修复工具
    • redis-check-dump:RDB文件检查工具
  • 进入 /usr/redis 目录启动 redis 服务:./bin/redis-server
  • 或者使用初始化脚本启动Redis:在 Redis 源代码目录的 utils 文件夹中有一个名为 redis_init_script 的初始化脚本文件,在使用脚本时需要配置 Redis 的运行方式和持久化文件、日志文件的存储位置等,具体步骤如下:
    • 配置初始化脚本。首先将初始化脚本复制到/etc/init.d目录中,文件名为redis_端口号,其中端口号表示要让Redis监听的端口号,客户端通过该端口连接Redis。然后修改脚本第6行的REDISPORT变量的值为同样的端口号
    • 建立需要的文件夹:
      • /etc/redis:存放Redis的配置文件
      • /var/redis/端口号:存放Redis的持久化文件
    • 修改配置文件。首先将配置文件模板redis-6.0.6/redis.conf复制到/etc/redis目录中,以端口号命名(如“6379.conf”),然后修改相应的配置:
      • daemonize:yes,使Redis以守护进程模式运行
      • pidfile:/var/run/redis_端口号.pid,设置Redis的PID文件位置
      • port:端口号
      • dir:/var/redis/端口号,设置持久化文件存放位置
    • 使用 /etc/init.d/redis_端口号 start 来启动Redis,使用如下命令使Redis随系统自启动 sudo update-rc.d redis_端口号 defaults
  • 启动客户端连接服务端:
    • cd /usr/redis/bin
    • ./redis-cli -h localhost -p 6379
  • 关闭Redis:
    • 正确停止Redis的方式应该是向Redis发送SHUTDOWN命令:redis-cli SHUTDOWN,当Redis收到SHUTDOWN命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出
    • Redis可以妥善处理SIGTERM信号,所以使用“kill Redis进程的PID”也可以正常结束Redis,效果与发送SHUTDOWN命令一样。

配置

  • 安装后的 redis 目录只有bin目录,redis-server启动时使用了默认配置
  • 如果需要自定义配置,需要在源码中复制配置文件到安装目录:
    sudo cp /tmp/redis-6.0.6/redis.conf /usr/redis/
  • 进入 /usr/redis/bin 目录,加载配置文件启动redis:
    ./redis-server ../redis.conf
  • 通过启动参数传递同名的配置选项会覆盖配置文件中相应的参数,就像这样:
    redis-server ../redis.conf --loglevel warning
  • 还可以在Redis运行时通过Config Set 命令在不重新启动 Redis 的情况下动态修改部分Redis配置,即config set loglevel warning,也可以在运行的时候也可以使用 CONFIG GET 命令获得Redis当前的配置情况

    1. $ config get loglevel
    2. 1) "loglevel"
    3. 2) "notice"
  • 第一行字符串回复表示的是选项名,第二行即是选项值

redis.conf 默认设置:此时不支持远程连接

默认redis服务器是没有开启远程连接,也就是默认拒绝所有远程客户端连接;如果需要开启远程连接,需要修改配置 redis.conf

  • 绑定本机地址:bind 127.0.0.1,只允许本机访问
  • 开启保护模式:protected-mode yes

修改为:

  • 绑定任意地址:bind 0.0.0.0,允许一切客户端访问
  • 不开启保护模式:protected-mode no
  • 开启后台运行:daemonize yes

重启 Redis 服务:

  • 找到 Redis 进程:ps -ef | grep redis
  • 杀掉 Redis 进程:kill -9 redis进程id
  • 通过配置文件启动即可: ./bin/redis-server redis.conf