1,编译安装
过程省略
2,主从配置
vi/数据/usr/redis-4.0.11/conf/复述。参看
主:
绑定127.0.0.1 192.168.121.121
daemonize是的”
日志文件/数据/usr/redis-4.0.11/日志/复述。日志”
pidfile/数据/usr/redis-4.0.11/运行/redis_6379。pid
dir/数据/usr/redis-4.0.11/
requirepass Redis2019 !
奴隶:
绑定127.0.0.1 192.168.121.122
daemonize是的”
日志文件/数据/usr/redis-4.0.11/日志/复述。日志”
pidfile/数据/usr/redis-4.0.11/运行/redis_6379。pid
dir/数据/usr/redis-4.0.11/
requirepass Redis2019 !
masterauth Redis2019 !
slaveof 192.168.121.121 6379
3,查看主从状态
主:
redis-cli——Redis2019 !
警告:使用一个密码'——'选项在命令行界面可能不安全。
127.0.0.1:6379>信息reolication
127.0.0.1:6379>信息复制
#复制角色:主
connected_slaves: 1
slave0: ip=192.168.121.122端口=6379,在线状态=,抵消=24486,延迟=1
master_replid: 7 ad1fd1b943f347c73970ccf1e50a51f9e17ad2d master_replid2:0000000000000000000000000000000000000000
master_repl_offset: 24486
second_repl_offset: 1
repl_backlog_active: 1
repl_backlog_size: 1048576
repl_backlog_first_byte_offset: 1
repl_backlog_histlen: 24486
奴隶:
redis-cli - h 192.168.121.122 - p 6379——Redis2019 !
警告:使用一个密码'——'选项在命令行界面可能不安全。
192.168.121.122:6379>信息复制
#复制角色:奴隶
master_host: 192.168.121.121
master_port: 6379
master_link_status:
master_last_io_seconds_ago: 7
master_sync_in_progress: 0
slave_repl_offset: 24570
slave_priority: 100
slave_read_only: 1
connected_slaves: 0
master_replid: 7 ad1fd1b943f347c73970ccf1e50a51f9e17ad2d
master_replid2:0000000000000000000000000000000000000000
master_repl_offset: 24570
second_repl_offset: 1
repl_backlog_active: 1
repl_backlog_size: 1048576
repl_backlog_first_byte_offset: 1
repl_backlog_histlen: 24570
4,主从模式及持久化
复述的主从模式是异步模式,奴隶节点异步的从主节点复制数据,主节点提供读写,奴隶节点只提供读服务,此为默认配置,可以修改配置文件的slave-read-only参数做出改变,把是的替换为不,即是把奴隶节点的只读限制打开,主节点可以有多个奴隶节点。
快照持久化,即RDB文件持久化,是默认的持久化方式。按照一定的策略周期性的将数据保存到磁盘,对应产生的数据文件为转储。rdb,默认该文件保存在启动服务时所在目录下.redis借助叉命令的文案编写机制,在生成快照时,将当前进程叉一个子进程,然后子进程循环执行所有的命令,将数据写入,称为rdb文件.Client可以使用保存或者dbsave命令通知复述,做一次快照持久化.save操作是主线程中保存快照的,由于复述,是用一个主线程来处理所有客户的请求,这种方式会阻塞所有客户请求,所以不推荐使用保存操作。另外,每次快照持久化都是将内存数据完整写入到磁盘一次,并不是增量的,如果要同步的数据量大的话,且写操作比较多,必然会使得磁盘产生大量的io操作,有可能会严重影响磁盘性能。
基于快照文件的主从同步:
奴隶第一次向主人发出同步请求,主首先转储出rdb文件
持久化的默认设置:
节省900 1 # 900秒后至少1个关键有变动保存
保存300年10 # 300秒后至少10个关键有变动保存
保存60 10000 # 60秒后至少10000个键有变动保存
stop-writes-on-bgsave-error是的#错误处理,默认情况下,如果复述,在后台生成快照的时候失败,那么就会停止接收数据,目的是让用户能知道数据没有持久化成功。
rdbcompression是的#数据压缩,默认会采用LZF对数据进行压缩,如果想节省CPU性能,可以把压缩功能禁用,但是数据集就会比没压缩的大。
rdbchecksum是的#数据校验,一个CRC64的校验放在文件末尾,用来保证文件的完整性,但是在保存和加载文件时会损失一定性能(10%左右)
dbfilename转储。rdb #持久化文件
dir。/#文件保存目录,在哪里执行启动命令,文件就保存在哪里