Redis高级命令

  • -keys * (可以模糊匹配)返回满足的所有键

  • -exists 是否存在指定的key

  • -expire 设置某个key的过期时间, 使用 ttl 查看剩余时间

  • -persist 取消过期时间

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

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

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

  • -rename 重名名 key

  • -echo 打印命令

  • -dbsize 查看数据库的key数量

  • -info 获取数据库信息

  • -config get 实时存储收到的请求(返回相关的配置信息)

  • -config get * 返回所有的配置

  • -flushdb 清空当前数据库,

  • -flushall 清空所有数据库

Redis的安全性

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

vi  编辑 redis.conf 文件,找到下面进行保存修改

#requirepass foobared
requirepass *****

重启服务器pkill redis-server
再次进入redis-cli  发现没有权限进行查询
使用auth xxxx
每次进入的时候都要输入密码:
还有种方式是直接登录授权: /usr/local/redis/bin/redis-cli -a xxxx

Redis主从复制(主写 从读)

  • -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地址
  • 修改配置文件: /usr/local/redis/etc/tedis.conf
  • 第一步: slaveof
  • 第二步: masterauth <master -password> (可选配置)
  • 使用info查看role角色即可知道是主服务还是从服务

哨兵模式

有了主从复制的实现以后,我们如果向对主从服务器进行监控,那么在redis2.6以后提供了一个"哨兵"的机制 在2.6 版本中的哨兵版本为1.0版本 会出现各种各样的问题.在2.8以后的版本哨兵功能才逐渐稳定起来.
顾名思义,哨兵的含义就是监控Redis系统的运行状况,其主要功能有两点:

  • -1- 监控主数据库和从数据库是否正常运行
  • -2- 主数据库出现故障时,可以自动将数据库转换为主数据库,实现自动切换

实现步骤: 在其中一台从服务器配置sentinel.conf

-1- copy 文件sentinel.conf到/usr/local/redis/etc中
-2- 修改sentinel.conf文件
sentinel monitor mymaster 192.168.xxx.xxx 6379  #名称,  ip  ,  端口,  投票选举次数
sentinel down-after-milliseconds mymaster 5000 #默认1s检测一次, 这里配置超时5000毫秒为宕机
sentinel failover-timeout mymaster 900000
sentinel parallel-syncs mymaster 2
sentinel can-failover 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.xxx.xxx -p 26379 info Sentinel
-5- 关闭主服务器查看集群信息
/usr/local/redis/binredis-cli -h 192.168.xxx.xxx -p 6379 shutdown