Redis-3. Redis高级命令
2017-02-15 21:36
246 查看
高级命令三:主从复制
1、主从复制:目的是实现读写分离
·Master可以拥有多个slave
·多个slave可以连接同一个Master外,还可以连接其他的slave
·主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
·提高系统的延伸性
2、主从复制过程:
1)slave与master建立连接,发送sync同步命令;
2)master开启后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存;
3)后台完成保存后,就将文件发送给slave;
4)slave将此文件保存到硬盘上;
3、主从复制配置:
准备3台linux服务器,分别192.168.90.121(主)、192.168.90.122、192.168.90.123;分别安装redis;
步骤:修改redis.conf配置文件
第一步:slaveof <masterIp> <masterport> 举例:slaveof 192.168.1.121 6379
第二部:masterauth<master-password> 举例:masterauth wlan
高级命令四:哨兵
在主从复制以后,如果想对主从服务器进行监控,实现高可用。redis2.6以后提供了一个哨兵机制。哨兵的含义就是监控redis系统的运行状况,主要功能有两点:
1. 监控主数据库和从数据库是否运行正常。
2. 主服务器出现故障时,可以自动将从服务器转换为主服务器。
实现步骤:在其中一台从服务器中或者另外用别的服务器进行配置
(1)修改sentinel.conf配置文件
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 192.168.1.121 6379 2 //名称 IP 端口号 投票选举次数
# sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds mymaster 5000 //默认多久检测一次主节点
# sentinel failover-timeout <master-name> <milliseconds>
sentinel failover-timeout mymaster 180000
# sentinel parallel-syncs <master-name> <numslaves>
sentinel parallel-syncs mymaster 2 //从节点数量
# sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster wlan
(2)启动sentinel哨兵
[root@wlan121 bin]# redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
(3)查看哨兵相关信息
[root@wlan121 bin]# redis-cli -h 192.168.1.122 -p 26379 info Sentinel
高级命令六:持久化
redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。
redis持久化的两种方式:
(1)snapshotting快照方式,默认。将内存以快照的方式写入到二进制文件中。默认为dump.rdb。可以配置redis在n秒内如果超过m个key则修改就自动做快照。快照方式是一定时间间隔做一次。
save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内如果超过10个key被修改,则发起快照保存
(2)append-only file(aof)的方式,由于快照方式是在一定时间间隔做一次,所以可能会发生redis意外down的情况就会丢失最后一次快照后所有修改的数据。而使用aof时,该机制以日志的形式记录服务器所处理的每一个写操作,在redis服务器启动之初读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。文件在bin目录下:appendonly.aof。aof不是立即写到硬盘上。可以通过配置文件修改强制写到硬盘中。
aof设置:
1)appendonly yes //启动aof持久化方式有三种修改方式
2)追加的模式
appendfsync always //收到写命令就立即写入磁盘,效率慢但是保证了完全的持久化
appendfsync everysec //每秒写入磁盘一次,在性能和持久化做了做好的折中
appendfsync no //从不同步。高效但是数据不会被持久化
1、主从复制:目的是实现读写分离
·Master可以拥有多个slave
·多个slave可以连接同一个Master外,还可以连接其他的slave
·主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
·提高系统的延伸性
2、主从复制过程:
1)slave与master建立连接,发送sync同步命令;
2)master开启后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存;
3)后台完成保存后,就将文件发送给slave;
4)slave将此文件保存到硬盘上;
3、主从复制配置:
准备3台linux服务器,分别192.168.90.121(主)、192.168.90.122、192.168.90.123;分别安装redis;
步骤:修改redis.conf配置文件
第一步:slaveof <masterIp> <masterport> 举例:slaveof 192.168.1.121 6379
第二部:masterauth<master-password> 举例:masterauth wlan
高级命令四:哨兵
在主从复制以后,如果想对主从服务器进行监控,实现高可用。redis2.6以后提供了一个哨兵机制。哨兵的含义就是监控redis系统的运行状况,主要功能有两点:
1. 监控主数据库和从数据库是否运行正常。
2. 主服务器出现故障时,可以自动将从服务器转换为主服务器。
实现步骤:在其中一台从服务器中或者另外用别的服务器进行配置
(1)修改sentinel.conf配置文件
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 192.168.1.121 6379 2 //名称 IP 端口号 投票选举次数
# sentinel down-after-milliseconds <master-name> <milliseconds>
sentinel down-after-milliseconds mymaster 5000 //默认多久检测一次主节点
# sentinel failover-timeout <master-name> <milliseconds>
sentinel failover-timeout mymaster 180000
# sentinel parallel-syncs <master-name> <numslaves>
sentinel parallel-syncs mymaster 2 //从节点数量
# sentinel auth-pass <master-name> <password>
sentinel auth-pass mymaster wlan
(2)启动sentinel哨兵
[root@wlan121 bin]# redis-server /usr/local/redis/etc/sentinel.conf --sentinel &
(3)查看哨兵相关信息
[root@wlan121 bin]# redis-cli -h 192.168.1.122 -p 26379 info Sentinel
高级命令六:持久化
redis是一个支持持久化的内存数据库,也就是说redis需要经常将内存中的数据同步到硬盘来保证持久化。
redis持久化的两种方式:
(1)snapshotting快照方式,默认。将内存以快照的方式写入到二进制文件中。默认为dump.rdb。可以配置redis在n秒内如果超过m个key则修改就自动做快照。快照方式是一定时间间隔做一次。
save 900 1 #900秒内如果超过1个key被修改,则发起快照保存
save 300 10 #300秒内如果超过10个key被修改,则发起快照保存
(2)append-only file(aof)的方式,由于快照方式是在一定时间间隔做一次,所以可能会发生redis意外down的情况就会丢失最后一次快照后所有修改的数据。而使用aof时,该机制以日志的形式记录服务器所处理的每一个写操作,在redis服务器启动之初读取该文件来重新构建数据库,以保证启动后数据库中的数据是完整的。文件在bin目录下:appendonly.aof。aof不是立即写到硬盘上。可以通过配置文件修改强制写到硬盘中。
aof设置:
1)appendonly yes //启动aof持久化方式有三种修改方式
2)追加的模式
appendfsync always //收到写命令就立即写入磁盘,效率慢但是保证了完全的持久化
appendfsync everysec //每秒写入磁盘一次,在性能和持久化做了做好的折中
appendfsync no //从不同步。高效但是数据不会被持久化
相关文章推荐
- NoSQL之Redis高级实用命令详解--事务处理
- 三、Redis的高级命令及高级应用
- NoSQL之Redis高级实用命令详解--安全和主从复制
- redis常用命令(高级篇)
- 总结redis第二部分(redis常用命令、高级命令特性以及与java代码的结合)
- NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- Redis较为高级命令
- Redis的常用命令及高级应用
- Redis的常用命令及高级应用
- redis (四) -redis 常用命令与高级用法(密码及主从复制)
- redis高级命令
- Redis 笔记与总结5 Redis 常用命令之 键值命令 和 服务器命令 && 高级应用之 安全性 和 主从复制
- NoSQL数据库之Redis数据库管理五(Redis的常用命令及高级应用)
- Redis高级实用命令详解--安全和主从复制
- 第2讲 Redis常用命令与高级应用
- NoSQL之Redis高级命令详解--持久化机制
- redis常用命令及高级特性
- Redis数据库的学习与实践—Redis的常用命令及高级应用
- redis常用命令及高级应用--服务器相关命令
- Redis高级命令