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

架构师养成记--32.Redis高级(安全 主从复制)

2017-03-02 09:27 288 查看

Redis高级命令及特性

keys * 返回满足的所有键值(*表示模糊匹配)

exists 是否存在指定的key(返回1表示存在,0表示不存在)

expire 设置某个key的过期时间,使用ttl查看剩余时间(参数单位是秒,返回-2表示已过期,返回-1表示没有设置过期时间)

perisist 取消过期时间

select 选择数据库 数据库为0到15(一共16个数据库)默认进入的是0数据库

move [key] [数据库下标] 将当前数据中的key转移到其他数据库中

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

rename 重命名key

echo 打印命令

dbsize 查看数据库的key数量

info 获取数据库信息

config get 实时转储收到的强求(返回相关的配置信息)

config get * 返回所有配置(也就是redis-config文件的精简版)

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

Redis的安全性

  因为redis速度相当快,所以在一台比较好的服务器下,一个外部永不在1s内可以进行15W次的密码尝试 ,这意味着你需要设定一个非常强大的密码来防止暴力破解。

vi编辑redis.config文件,找到下面内容,保存修改
#requirepass foobared
requirepass ***

重启服务器 pkill redis-server
再次进入 keys * 会发现没有权限进行查询,输入密码 auth *** 则成功进入,每次进入都要输入密码,还有一种简单的方式:
/usr/local/redis/bin/redis-cli - a ***

主从复制

master可以拥有多个slave

多个slave可以连接同一个master外,还可以连接其他的slave

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

提供系统的伸缩性

主从复制过程

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

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

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

slave将此文件保存到硬盘上

主从复制配置

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

修改配置文件:/usr/local/redis/etc/redis.conf
第一步:slaveof <masterip> <mastport>
第二步:masterauth <master-password>

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

发布与订阅

redis 提供简单的发布订阅功能

使用subscribe [频道] 进行订阅

使用publish [频道] [发布内容] 进行发布消息广播
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: