《redis开发与运维》笔记

  • info命令查看详细信息
  • 获取慢查询命令slowlog get [n] ,n为取出来的条数。在配置文件中有两个关键参数,一个是slowlog-slower-thanslowlog-max-len(慢日志最大的数量)
  • 每隔一秒显示redis的内存使用量 并重复5次:
    redis-cli -r 5 -i 1 info | grep used_memory_human

-save命令会阻塞主线程的运行,建议使用basave

  • RDBAOF持久化:
    AOF默认是关闭的。
    RDB的优点:1)是个紧凑的二进制文件,代表在redis在某个时间点的快照,适用于备份,全量复制等场景。2)加载速度远快于AOF方式。
    缺点:1)由于开销较大,没办法做到实时持久化/秒级持久化 2)由于redis历史版本问题,导致老的redis服务不兼容新的RDB版本

    AOF适用于秒级持久化。

  • redis属于CPU密集型操作,不要和其他CPU密集型服务放在一起,造成CPU过度竞争。
  • AOF重写时会消耗大量的硬盘IO,当开启AOF功能的redis用于高流量场景时,如果使用普通机械硬盘,写入吞吐量在100M/S,此时的实例瓶颈主要在同步硬盘上。单机配置多个redis实例(充分利用CPU的多核)时,可以配置不同的实例分盘存储AOF文件,分摊硬盘写入压力。
  • 开启AOF持久化,使用的同步硬盘策略是everysec,用于平衡性能和安全性,AOF同步最多允许两秒的延迟。
  • 持久化阻塞主线程场景有:fork阻塞和AOF追加阻塞

-单机下部署多个实例时,为了防止出现多个子进程执行重写操作,建议做隔离控制,避免CPU和IO资源竞争,要保证每个实例的AOF串行化执行。

  • 可以用client list查看相关的从服务器信息
  • 开发时在使用额外的节点做读写分离之前,尽可能的先在主节点上做优化,比如解决慢查询,持久化阻塞等,也可以考虑使用redis cluster等分布式解决方案。
  • 在主从配置中,关于内存的配置一定要一样。
  • 需要规避全量复制和复制风暴,对于复制风暴,可以减少主节点下挂在从节点数量,或采用树状复制结构,加入中间层节点来保护主节点。

标签: none

评论已关闭