您的位置:首页 > 数据库 > Redis

Redis之高级命令、主从复制、哨兵

2018-03-26 15:22 761 查看
一、redis高级命令
    1、keys * :返回满足的所有键(可以模糊匹配);
    2、exists:是否存在指定的key;
    3、expire:设置某个key的过期时间,使用ttl 【key】查看剩余时间;(expire key 【时间】:时间以秒为单位)

    4、persist:取消过期时间;(persist key)
    5、select:选择数据库 数据库为0到15(一个16个数据库)默认进入的是0数据库;(select 1:进入数据库1)
    6、move【key】【数据库下标】:当前数据中的key转移到其他数据库中;
    7、randomkey:随机返回数据库里的一个key;
    8、rename:重命名key;
    9、echo:打印命令;
    10、dbsize:查看数据库的key数量;
    11、info:获取数据库信息;
    12、config get * :返回所有配置;
    13、flushdb:清空当前数据库;flushall清空所有数据库;
二、redis安全性(可作了解)
    因为redis速度相当快,所以一台比较好的服务器下,一个外部用户在一秒内可以进行15e次的密码尝试,这意味着你需要设定非常强大的密码来防止暴力破解。

    1、vim编辑redis.conf文件,找到下面进行保存:

            找到:#requirepass foobared

            在其下一行设置:requirepass 【密码】

    2、重启服务器:pkill redis-server

            再次进入redis,执行:keys * ,会发现没有权限进行查询;

            执行命令:auth 【密码】;

            OK输入密码则成功进入;

    3、每次进入的时候都要输入密码,还有中简单的方式:【root@bhz~】# /usr/local/redis/bin/redis-cli -a 【密码】

三、主从复制
    1、定义:A、Master可以拥有多个slave;

                    B、多个slave可以链接同一个master外,还可以连接到其他的slave;

                    C、主从复制不会阻塞master,在同步数据时master可以继续处理client请求;

                    D、提供系统的伸缩性;

    2、主从复制过程:A、slave与master建立连接,发送sync同步命令;

                                B、master会开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存;        
                                 C、后台完成保存后,就将文件发送给slave;

                                 D、slave将此文件保存到硬盘上;

    3、主从复制配置:clone服务器之后修改slave的IP地址

                                  修改配置文件:/usr/local/rdies/etc/redis.conf

                                  第一步:找到slaveof,设置:slaveof 【masterip】【mastport;

                                  第二部:masterauth 【master-password】;(如果主服务器没有密码,可以不用设置此项)

                                  使用info查看role角色即可知道是主服务或从服务;
四、哨兵
    定义:有了主从复制实现以后,我们如果想对主从服务器进行监控,那么redis2.6以后提供了一个”哨兵“的机制,在2.6版本中的哨兵为1.0版本,并不稳定,会出现各种问题,在2.8以后的版本哨兵功能才稳定起来,顾名思义,哨兵的含义就是监控Redis系统的运行状况,其主要功能有两点:A、监控主数据库和从数据库是否正常运行;B、主数据库出现故障时,可以自动将从数据库转换为主数据库,实现自动切换;

    实现步骤:在其中一台从服务器配置sentinel.conf
                    1)、从redis的安装包中copy文件sentinel.conf到/usr/local/redis/etc中;
                    2)、修改sentinel.conf文件:
                            sentinel monitor mymaster 192.168.1.121 6379 1 #名称、ip、端口,投票选举次数;                                                           sentinel down-after-milliseconds mymaster 5000 #默认1s检测一次,这里配置超时5000毫秒,为宕机 ;
                            sentinel failover-timeout mymaster 900000

                            sentinel parallel-syncs mymaster 2 (2表示从节点的数量)

                           (sentinel can-fallover mymaster yes)

                    3)、启动sentinel哨兵:/usr/local/redis/bin/redis-server /usr/local/redis/etc/sentinel.conf --sentinel &

                    4)、查看哨兵相关信息命令:/usr/local/redis/bin/redis-cli -h 192.168.1.121 -p 26379 info Sentinel

                    5)、关闭主服务器查看集群信息:/usr/local/redis/bin/redis-cli -h 192.168.1.121 -p 6379 shutdown

        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: