Redis 2.8 运维,搭建集群


1  Redis运维

1.1   持久化

redis会自动的把内存的数据写入到磁盘上。(因为当服务器宕机内存数据就会丢失,所以redis把内存的数据保存一份到磁盘上,做一个备份。)这里就是为什么把redis称为数据库的原因。

1.1.1  RDB

1)持久化机制:指定的时间间隔内将内存中的数据集以快照写入磁盘

2)RDB持久化方式优劣势

优势:整个Redis数据库将只包含一个文件,这对于文件备份而言是非常完美的

劣势:rdb是以每隔一段时间进行一次快照进行的数据持久,如果一旦在这一时间段出现服务器故障,将会灾难性的。

1.1.2  AOF

1)持久化机制:以日志形式记录服务器每一个操作,在Redis服务器启动之初会读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。

2AOF持久化方式优劣势:

优势:Redis中提供了3中同步策略,即每秒同步、每修改同步和不同步

修改同步:每修改一次同步一次,对于性能的消耗非常大。

每秒同步:每秒钟进行的操作进行一次同步

不同步

劣势:对于相同数量的数据集而言,AOF文件通常要大于RDB文件,并且根据同步策略的不同,AOF在运行效率上往往会慢于RDB

1.1.3  RDBAOF配置

1RDB持久化配置(修改redis.conf文件)注:标红为配置文件修改部分

  deamonize 已进程的形式启动程序改为:yes

  timeout   客户端没有操作就中断服务   0不中断

  RDB快照的配置

  database  默认有多少个库   16个库

  save 900 1 900秒有一次操作就快照一次

  rdbcompression 对快照进行压缩  yes

  dbfilename 这里可以修改dump.rdb的名字

  dir ./     默认生成当前目录(目录可以修改)

2AOF持久化的配置(修改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   拷贝一份文件到当前目录,主服务器就不需要rdbaof,由从服务器分担主服务器压力

  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最好不要一下都启动起来

4redis主从&持久化项目架构图:

 

   常用运维命令以及注意事项

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三行标识符删除掉

  重启


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注