下载地址
- 官方网站:https://redis.io
- 中文网站:http://www.redis.cn/
安装步骤
- 下载: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的方式应该是向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当前的配置情况$ config get loglevel
1) "loglevel"
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