redis的安装


环境

CentOS7

redis6.2.5

下载

  • 使用华为镜像
mkdir -p /opt/redis
ce /opt/redis
wget https://repo.huaweicloud.com/redis/redis-6.2.5.tar.gz
  • 安装
# 安装依赖包
yum -y install gcc gcc-c++

# 解压
tar -zxvf redis-6.2.5.tar.gz
cd redis-6.2.5/

#编译
make MALLOC=libc
# 安装
cd src && make install

配置

  • 修改配置
cd ..
vim redis.conf

#注释 这一行重新启动redis即可
#bind 127.0.0.1

#设置安全密码
requirepass 123456

# 静寂启动	
daemonize yes

启动

  • 启动
cd src/
./redis-server ../redis.conf

# 查看是否启动
ps -aux | grep redis
  • 设置开机启动
cd /etc
mkdir redis
cd redis
cp /opt/redis/redis-6.2.5/redis.conf /etc/redis/6379.conf
cp /opt/redis/redis-6.2.5/utils/redis_init_script /etc/init.d/redisd
cd /etc/init.d
chkconfig redisd on

# 以后启动方式可以用这种
service redisd start
service redisd stop

配置持久化

出处

https://www.cnblogs.com/kismetv/p/9137897.html

RDB

手动

#进入客户端
./redis-cli 

#执行命令
127.0.0.1:6379> save

自动

修改redis.conf配置文件中的

#   save ""
save 900 1
save 300 10
save 60 10000

说明

其中save 900 1的含义是:当时间到900秒时,如果redis数据发生了至少1次变化,则执行bgsave;save 300 10和save 60 10000同理。当三个save条件满足任意一个时,都会引起bgsave的调用。

在主从复制场景下,如果从节点执行全量复制操作,则主节点会执行bgsave命令,并将rdb文件发送给从节点

执行shutdown命令时,自动执行rdb持久化

存储路径

修改redis.conf

名称

# The filename where to dump the DB

#此处为存储位置,dir配置指定目录,dbfilename指定文件名。默认是Redis根目录下的dump.rdb文件。
dbfilename dump.rdb 

# Remove RDB files used by replication in instances without persistence

路径

# Note that you must specify a directory here, not a file name.
dir ./

启动加载

RDB文件的载入工作是在服务器启动时自动执行的,并没有专门的命令。但是由于AOF的优先级更高,因此当AOF开启时,Redis会优先载入AOF文件来恢复数据;只有当AOF关闭时,才会在Redis服务器启动时检测RDB文件,并自动载入。服务器载入RDB文件期间处于阻塞状态,直到载入完成为止。

AOF

Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要在配置文件中配置。

当AOF开启时,Redis启动时会优先载入AOF文件来恢复数据;只有当AOF关闭时,才会载入RDB文件恢复数据。

当AOF开启,但AOF文件不存在时,即使RDB文件存在也不会加载(更早的一些版本可能会加载,但3.0不会)

常用配置,redis.conf

- appendonly no:是否开启AOF
- appendfilename "appendonly.aof":AOF文件名
- dir ./:RDB文件和AOF文件所在目录
- appendfsync everysec:fsync持久化策略
- no-appendfsync-on-rewrite no:AOF重写期间是否禁止fsync;如果开启该选项,可以减轻文件重写时CPU和硬盘的负载(尤其是硬盘),但是可能会丢失AOF重写期间的数据;需要在负载和安全性之间进行平衡
- auto-aof-rewrite-percentage 100:文件重写触发条件之一
- auto-aof-rewrite-min-size 64mb:文件重写触发提交之一
- aof-load-truncated yes:如果AOF文件结尾损坏,Redis启动时是否仍载入AOF文件

文章作者: 张一雄
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张一雄 !
  目录