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

redis复习(二):高级命令,主从复制,哨兵模式

2017-10-04 15:58 881 查看
一:redis高级命令

keys *:查看所有key(可以模糊匹配)

exists:是否存在指定的key

expire:设置某个key的过期时间,ttl查看过期剩余时间

persist:取消某个key的过期时间

select :选择数据库,默认有0到15一共16个数据库,默认进入的是0数据库

move key [数据库下标]:将当前数据库中的key移动到下标数据库当中

randomkey:随机返回数据库中的一个key

rename:重新命名某个key

dbsize:查看数据库数量

info : 查看数据库相关信息

echo:打印命令

config get:实时传储收到的请求,返回相关配置信息,如config get *其实就是redis.conf的缩影

flushdb:清空当前数据库,flushall是清空所有

redis中数据库划分是逻辑上的划分







二:redis的安全性

因为redis速度相当快,在一秒内,一个用户可以进行大约15W次的密码尝试,这意味着需要设置非常强大的密码来防止暴力破解

修改redis.conf配置文件,找到 #requirepass foobared设置密码。

重启服务器之后会发现没有权限进行查询。



输入密码即可进入



同时也可以在登陆客户端时直接输入密码:如:/usr/local/redis/bin/redis-cli -a ****(密码);

三:主从复制(redis2.0之前):读写分离,主负责写,从负责读的过程

1.多个master可以有多个slave

2.多个slave可以连接到同一个master外,还可以连接到其它的slave。

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

4.提供系统的伸缩性

  主从复制过程:

1.slave与master建立连接,发送sync同步命令

2.master会开启一个新的后台进程,将数据快照保存在文件中,同时master主进程会开始收集新的命令并缓存

3.后台完成保存后,将文件发送给slave

4.slave将此文件保存在硬盘上

  主从复制配置

clone服务器之后修改slave的ip地址

修改配置文件

找到从服务器的redis.conf中的slaveof指定master服务的ip和端口(需要防火墙关闭以及c++编译环境)

使用info查看role角色即可知道是主服务或者从服务



测试主从:主服务添加元素



从服务获取,并且只有可读状态



三:哨兵模式

哨兵的含义就是监控redis系统的运行状况,主要功能有两点

1.监控主数据库和从数据库是否正常运行

2.主数据库出现故障时,可以自动的将从数据库转换为主数据库,实现自动切换

实现步骤:在一台从服务器中配置sentinel.conf(redis解压目录下)复制到/usr/local/redis/etc/下

修改配置文件

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