Redis安装(Centos安装)及配置
1、下载
这里为了加速下载,选择了华为镜像地址:https://mirrors.huaweicloud.com/redis/
# 切换到 /usr/local/src
cd /usr/local/src
# 使用 curl 下载 redis
curl -O https://mirrors.huaweicloud.com/redis/redis-5.0.7.tar.gz
# 解压
tar zxvf redis-5.0.7.tar.gz
2、安装
这一步构建需要 CentOS 安装了 gcc ,否则会报错 /bin/sh: cc: command not found,如果报错了之后,再安装 gcc ,需要删除解压的 redis ,重新解压再构建 ,执行
yum -y install gcc-c++即可安装 gcc
# 切换到 redis 解压文件夹
cd redis-5.0.7
# 构建
make
# 切换到 ./src
cd src
# 安装 redis 到 /usr/local/redis
make install PREFIX=/usr/local/redis
3、拷贝默认的配置文件到配置目录
# 创建 ./etc 目录
mkdir /usr/local/redis/etc
# 拷贝 redis.conf 到 ./etc
cp /usr/local/src/redis-5.0.7/redis.conf /usr/local/redis/etc
4、修改配置文件
-
修改为后台可运行
把daemonize no改为daemonize yes(是否为进程守护,关闭ssh窗口后即是否在后台继续运行, 如果是docker容器,这一项不修改) -
设置密码
把requirepass foobared的注释去掉,将foobared改为需要的密码 -
关闭保护模式
把protected-mode yes改为protected-mode no -
取消绑定本地地址
如果不取消绑定,无法远程连接 redis
注释掉
bind 127.0.0.1 -
修改持久化的存放路径(可选)
把dir ./修改为dir /usr/local/redis/data
5、CentOS中设置开机启动
# 在 /etc/rc.local 里面添加内容(意思就是开机时执行这段命令)
vim /etc/rc.local
# redis 以某个配置启动的命令使 redis-server [配置文件]
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
6、 添加PATH路径,方便调用redis命令
执行vi /etc/profile进入编辑,在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 这一行下面,添加如下内容
export PATH=$PATH:/usr/local/redis/bin
如图:
7、redis 常用命令
# 启动 redis
redis-server [配置文件]
# 停止 redis 命令
redis-cli shutdown
# 登录 redis
redis-cli [-a 密码]
# 登录远端 redis
redis-cli -h [IP] -p [端口] -a [密码]
8、redis设置持久化方式
8.1、RDB(默认)
save 900 1 # 900秒内至少有1次键值改动,保存一次数据集
save 300 10 # 300秒内至少有10次键值改动,保存一次数据集
save 60 10000 # 60秒内至少有10000次键值改动,保存一次数据集
8.2、AOF
打开AOF只需修改如下配置即可
appendonly yes
aof同步相关配置说明:
- appendfsync always
每次有新命令追加到 AOF 文件时就执行一次 fsync ,性能较差,但数据完整性较好。 - appendfsync everysec
每秒 fsync 一次,足够快,并且在故障时只会丢失 1 秒钟的数据。 - appendfsync no
从不 fsync ,将数据交给操作系统来处理。更快,但数据完整性较差。
aof重写相关配置:
AOF重写:因为AOF是记录我们的写缓存命令,所以,如果有大量的命令对同一个值进行修改,那么AOF就会记录对这个值的大量设置命令,对于恢复数据来说,这无疑是没有必要的,恢复数据的是,只需要执行最后一条设置命令(前提是这些命令之间没有依赖),即可完成缓存数据的恢复,这就是AOF重写的能力,AOF重写根据配置,在特定的条件下,会自动执行命令的重写优化
auto-aof-rewrite-min-size 64mb //aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就很快,重写的意义不大
auto-aof-rewrite-percentage 100 //aof文件自上一次重写后文件大小增长了100%则再次触发重写
8.3、混合持久化(4.0之后特性)
混合持久,即是综合RDB和AOF的优点,每过一段时间,数据执行一次全量保存(RDB),在每次保存的间隙,则是利用AOF来记录这期间的数据变更命令
打开混合持久化,修改配置为如下内容即可:
appendonly yes
aof-use-rdb-preamble yes

浙公网安备 33010602011771号