1 Redis运维1.1 持久化redis会自动的把内存的数据写入到磁盘上。(因为当服务器宕机内存数据就会丢失,所以redis把内存的数据保存一份到磁盘上,做一个备份。)这里就是为什么把redis称为数据库的原因。
1.1.1 RDB1)持久化机制:指定的时间间隔内将内存中的数据集以快照写入磁盘 2)RDB持久化方式优劣势 优势:整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的 劣势:rdb是以每隔一段时间进行一次快照进行的数据持久,如果一旦在这一时间段出现服务器故障,将会灾难性的。 1.1.2 AOF1)持久化机制:以日志形式记录服务器每一个操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。 2)AOF持久化方式优劣势: 优势:Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步 修改同步:每修改一次同步一次,对于性能的消耗非常大。 每秒同步:每秒钟进行的操作进行一次同步 不同步 劣势:对于相同数量的数据集而言,AOF文件通常要大于RDB文件,并且根据同步策略的不同,AOF在运行效率上往往会慢于RDB 1.1.3 RDB与AOF配置1)RDB持久化配置(修改redis.conf文件)注:标红为配置文件修改部分 deamonize 已进程的形式启动程序改为:yes timeout 客户端没有操作就中断服务 0不中断 RDB快照的配置 database 默认有多少个库 16个库 save 900 1 每900秒有一次操作就快照一次 rdbcompression 对快照进行压缩 yes dbfilename 这里可以修改dump.rdb的名字 dir ./ 默认生成当前目录(目录可以修改) 2)AOF持久化的配置(修改redis.conf文件) appendonly no改为yes appendfsync 同步写入数据的策略 always:每修改一次记录一条 everysec:每秒 no-appendfsync-no-rewrite no 在重复写入的时候不同步,只记录一次 percenttage 100 上次的写入内容的百分之100的时候整理一次 min-size 64mb 达到64mb的时候整理一次写入 3)其他命令 ps -ef | grep redis 查看进程服务是否启动 kill -9 3004 杀掉进程 bgrewriteaof 手动重写aof requirepass password 配置redis访问密码 auth password 客户端登陆输入访问密码 1.2 主从复制什么是主从复制:如果主服务器宕机,从服务器可以替代主服务器来为客户端服务,相当于备份。并且可以把持久化的配置在从服务器端来减轻主服务器的压力,主服务器不做持久化,由从服务器负责。
1)配置说明(读写分离): master:主服务器配置写入操作,不做持久化。 slave:从服务器配置只读数据和持久化数据来分担主服务器的压力。 2)配置内容: 复制一份redis.conf修改端口,作为从服务器:cp redis.confredis6380.conf 拷贝一份文件到当前目录,主服务器就不需要rdb、aof,由从服务器分担主服务器压力
vi redis6380.conf 编辑该文件 pidfile 进程.pid文件修改为 redis6380.conf 修改端口号为 6380 slaveof 主服务器ip 端口号6379 slave-read-only yes dbfilename dump6380.rdb 也可以修改appendonly6380.aof 配置 dir /redis-slave,编辑完成退出后。这里使用到redis-slave所以需要创建redis-slave目录 mkdir redis-slave
3)运维注意事项 每次slave断开后,再次连接master时,都要master全部dump出来rdb然后再同步aof,即同步的过程需要重新来一遍,所以要记住,多台slave最好不要一下都启动起来 4)redis主从&持久化项目架构图:
1.3 常用运维命令以及注意事项1.3.1 运维命令 DBSIZE Key的数量 FLUSHALL 清空当前服务器管理的数据库中的所有Keys FLUSHDB 清空当前数据库中的所有Keys SAVE RDB持久化模式 SHUTDOWN停止server端 SLAVEOF host port手动配置当前为从服务器 monitor 打开控制台 client kill 关闭某个客户端 sync 手动同步 Bgrewriteaof 后台写aof Bgsave 后台写rdb shutdown save|nosave 关闭服务器---保存/不保存 info 显示服务器信息 1.3.2 注意事项 如果不小心flushall了,应该首先关闭redis服务进程shutdown nosave 然后编辑aof然后在aof日志文件里面的flashall三行标识符删除掉 重启
|