zoukankan      html  css  js  c++  java
  • Redis 相关功能和实用命令(五)

    慢查询原因分析

    由于 Redis 是单线程的,它内部维护了一个命令队列,所以当有耗时的命令出现时,比如 keys *,后面的命令会被阻塞,通查查出慢查询可以对服务进一步优化。

    1. 设置慢查询阀值:默认10 毫秒,以微秒为单位

      6379>config set slowlog-log-slower-than 10000

      可直接修改 redis.conf 加上 slowlog-log-slower-than 10000

      slow-max-len 用来设置慢查询条数

    2. 执行 slowlog get 获取慢查询,格式如下

      img

    一般会定期将慢查询进行导出到 mysql 或其它存储,用于业务人员查看哪里出现了慢查询

    管道 pipeline

    上篇文章展示了在控制台中如何使用管道来导入 mysql 数据 ,但管道一般在应用程序中使用

     Object execute = redisTemplate.execute(new RedisCallback<Object>() {
         @Override
         public Object doInRedis(RedisConnection connection) throws DataAccessException {
             connection.openPipeline();
             for (int i = 0; i < 1000000; i++) {
                 String key = "123" + i;
                 connection.set(key.getBytes(), key.getBytes());
             }
             List<Object> result = connection.closePipeline();
             return result;
         }
     });
    

    发布订阅 (publish/subscribe)

    Redis 的发布订阅比较简单,不适合于专业的场景,会有消息丢失,无法回溯等问题,这个发布订阅一般是用在 Redis 内部使用,比如哨兵的监控

    专业的发布订阅建议还是使用 kafka 或者 rabbitmq

    rabbitmq 可参考我的另一篇文章 Rabbitmq

    一些实用命令

    • 查询连接的占用情况,哪台主机占用多少连接,用于排查连接耗光问题

      redis-cli -a <密码> client list  | awk '{print $1}' | cut -d "=" -f2 | cut -d: -f 1 | sort  -n | uniq -c 
      
    • 查询当前内存使用情况

      6379> info Memory

    • 在所有 key 里面返回随机一个 key ,可以用于抽奖

      randomkey
      

    一点小推广

    创作不易,希望可以支持下我的开源软件,及我的小工具,欢迎来 gitee 点星,fork ,提 bug 。

    Excel 通用导入导出,支持 Excel 公式
    博客地址:https://blog.csdn.net/sanri1993/article/details/100601578
    gitee:https://gitee.com/sanri/sanri-excel-poi

    使用模板代码 ,从数据库生成代码 ,及一些项目中经常可以用到的小工具
    博客地址:https://blog.csdn.net/sanri1993/article/details/98664034
    gitee:https://gitee.com/sanri/sanri-tools-maven

  • 相关阅读:
    开源数据采集组件比较: scribe、chukwa、kafka、flume
    主流开源SQL(on Hadoop)总结
    Hive over HBase和Hive over HDFS性能比较分析
    开源Astro(SparkSQL On HBase)
    ML: 降维算法-LE
    ML: 降维算法-LLE
    Blender使用基础
    Cycles渲染研究测试效果图
    vs2008所有DTE.ExecuteCommand命令
    come on,逆战
  • 原文地址:https://www.cnblogs.com/sanri1993/p/11610426.html
Copyright © 2011-2022 走看看