Redis扩展功能之慢查询日志

  在MySQL中存在慢日志的概念(参考MySQL索引原理之查询优化 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)),Redis中也提供慢日志的功能用于监视和优化查询。下面介绍Redis中慢日志相关的操作

  1、设置  

    redis.conf中可以配置和慢查询日志相关的选项:

        

    Redis使用列表存储慢查询日志,采用队列方式(FIFO)。

    config set的方式可以临时设置,redis重启后就无效

      config set slowlog-log-slower-than 微秒

      config set slowlog-max-len 条数

        

  2、阅读及删除

    查看日志:slowlog get [n]
          

    清除日志:slowlog reset

       

  3、慢查询定位及处理       

    使用slowlog get 可以获得执行较慢的redis命令,针对该命令可以进行优化:

    1)尽量使用短的key,对于value有些也可精简,能使用intint

    2)避免使用keys *hgetall等全量操作。

    3)减少大key的存取,打散为小key 100K以上

    4)rdb改为aof模式:rdb fork 子进程 数据量过大 主进程阻塞 redis性能大幅下降关闭持久化 , (适合于数据量较小,有固定数据源)

    5)想要一次添加多条数据的时候可以使用管道

    6)尽可能地使用哈希存储

    7)尽量限制下redis使用的内存大小,这样可以避免redis使用swap分区或者出现OOM错误内存与硬盘的swap



    


      

posted on 2022-02-24 11:20  池塘里洗澡的鸭子  阅读(185)  评论(0编辑  收藏  举报