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


    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次的密码尝试 ,这意味着你需要设定一个非常强大的密码来防止暴力破解。

    1. vi编辑redis.config文件,找到下面内容,保存修改
        #requirepass foobared
        requirepass ***
    2. 重启服务器 pkill redis-server
        再次进入 keys * 会发现没有权限进行查询,输入密码 auth *** 则成功进入,每次进入都要输入密码,还有一种简单的方式:
        /usr/local/redis/bin/redis-cli - a ***

    主从复制

    1. master可以拥有多个slave
    2. 多个slave可以连接同一个master外,还可以连接其他的slave
    3. 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
    4. 提供系统的伸缩性

      主从复制过程

    1. slave与master建立连接,发送sync同步命令
    2. master会开启一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存
    3. 后台完成保存后,就将文件发送给slave
    4. slave将此文件保存到硬盘上

      主从复制配置

    1. clone服务器之后修改slave的IP地址
    2. 修改配置文件:/usr/local/redis/etc/redis.conf
          第一步:slaveof <masterip> <mastport>
          第二步:masterauth <master-password>
    3. 使用info查看role角色即可知道是主服务或从服务

    发布与订阅

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

    使用subscribe [频道] 进行订阅

    使用publish [频道] [发布内容] 进行发布消息广播

  • 相关阅读:
    25:最长最短单词
    09:向量点积计算
    08:石头剪刀布
    07:有趣的跳跃
    36:计算多项式的值
    33:计算分数加减表达式的值
    hdu 2289 Cup (二分法)
    Android-补间动画效果
    UVA 586 Instant Complexity
    企业门户(Portal)项目实施方略与开发指南
  • 原文地址:https://www.cnblogs.com/sigm/p/6488898.html
Copyright © 2020-2023  润新知