监控redis命令--monitor--redis调试

monitor是什么?

有时候我们需要知道客户端对redis服务端做了那些命令操作。我们可以试用monitor命令来查看。
他能清楚的看到客户端在什么时间点执行了那些命令

MONITOR 是一个调试命令,每个命令流回来的redis服务器处理。它可以帮助理解数据库中正在发生的事情。此命令可用于通过使用CLI通过telnet。看到所有的请求,由服务器处理为了点时使用Redis作为数据库和分布式缓存系统的一个应用程序错误的能力是非常有用的

效果如下


1507515946.410170 [0 10.10.8.20:56169] "AUTH" "123456"
1507515946.426931 [0 10.10.8.20:56169] "PING"
1507515946.458043 [0 10.10.8.20:56169] "INFO" "ALL"
1507515946.477740 [0 10.10.8.20:56169] "select" "1"
1507515946.485924 [1 10.10.8.20:56169] "select" "2"
1507515946.519736 [2 10.10.8.20:56169] "select" "3"
1507515946.536863 [3 10.10.8.20:56169] "select" "4"
1507515946.539574 [4 10.10.8.20:56169] "select" "5"
1507515946.556423 [5 10.10.8.20:56169] "select" "6"
1507515946.583890 [6 10.10.8.20:56169] "select" "7"
1507515946.618607 [7 10.10.8.20:56169] "select" "8"
1507515946.632856 [8 10.10.8.20:56169] "select" "9"
1507515946.635165 [9 10.10.8.20:56169] "select" "10"
1507515946.656267 [10 10.10.8.20:56169] "select" "11"
1507515946.683463 [11 10.10.8.20:56169] "select" "12"
1507515946.702956 [12 10.10.8.20:56169] "select" "13"
1507515946.721350 [13 10.10.8.20:56169] "select" "14"
1507515946.735145 [14 10.10.8.20:56169] "select" "15"
1507515946.751276 [15 10.10.8.20:56169] "select" "16"
1507515947.879896 [15 10.10.8.20:56169] "SELECT" "0"
1507515947.928903 [0 10.10.8.20:56171] "AUTH" "123456"
1507515947.930488 [0 10.10.8.20:56171] "PING"
1507515947.949174 [0 10.10.8.20:56171] "INFO" "ALL"
1507515948.362843 [0 10.10.8.20:56156] "PING"
1507515948.466909 [0 10.10.8.20:56169] "scan" "0" "MATCH" "*" "COUNT" "10000"
1507515949.498885 [0 10.10.8.20:56169] "type" "2"
1507515949.501959 [0 10.10.8.20:56169] "ttl" "2"
1507515949.528084 [0 10.10.8.20:56169] "SCARD" "2"
1507515950.300299 [0 10.10.8.20:56169] "type" "xxx"
1507515950.302353 [0 10.10.8.20:56169] "ttl" "xxx"
1507515950.891284 [0 10.10.8.20:56169] "GET" "xxx"
1507515952.951806 [0 10.10.8.20:56171] "INFO" "all"
1507515954.605228 [0 10.10.8.20:56169] "type" "2"
1507515954.612624 [0 10.10.8.20:56169] "ttl" "2"
1507515954.616165 [0 10.10.8.20:56169] "SCARD" "2"
1507515954.789474 [0 10.10.8.20:56169] "SSCAN"

步骤

1、连接客户端

./redis-cli

2、输入密码

auth xxxxx      #xxxxx 表示密码

3、输入monitor命令

monitor

全部命令如下

[root@localhost src]# ./redis-cli
127.0.0.1:6379> monitor
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> monitor
OK

4、客户端连接

可以直接在 redis-cli里输入命令,也可以是其他的客户端,monitor都可以监控到。这里用java为例
项目使用的是spring-boot, 源码可以到我的github或者码云中获取。

jar

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

yml文件

spring:
  redis:
    database: 0
    host: 10.10.20.100
    port: 6379
    password: 123456
    pool:
      max-active: 8
      max-wait: -1
      max-idle: 18
      min-idle: 0
    timeout: 0  

java文件

@Controller
@RequestMapping(value = "/test1")
public class SysTestController {
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    @ResponseBody
    @GetMapping(value = "/redisTest")
    public void redisTest(){
        stringRedisTemplate.opsForValue().set("xxx","dddd");
        stringRedisTemplate.opsForSet().add("2","x","c");
    }
}

5、请求接口

http://localhost:8081/test1/redisTest

监控台可以看到
1507515925.616458 [0 10.10.8.20:56156] "AUTH" "123456"
1507515925.751292 [0 10.10.8.20:56156] "SET" "xxx" "dddd"
1507515925.914660 [0 10.10.8.20:56156] "SADD" "2" "x" "c"

6、注意

redis需要设置密码和bind绑定的ip,在配置文件redis.conf中

我的官网

我的官网http://guan2ye.com
我的CSDN地址http://blog.csdn.net/chenjianandiyi
我的简书地址http://www.jianshu.com/u/9b5d1921ce34
我的githubhttps://github.com/javanan
我的码云地址https://gitee.com/jamen/
阿里云优惠券https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=vf2b5zld&utm_source=vf2b5zld

阿里云教程系列网站http://aliyun.guan2ye.com

我的开源项目spring boot 搭建的一个企业级快速开发脚手架

时间: 2024-10-01 07:51:26

监控redis命令--monitor--redis调试的相关文章

《Redis入门指南(第2版)》一2.3 Redis命令行客户端

2.3 Redis命令行客户端 还记得我们刚才编译出来的redis-cli程序吗?redis-cli(Redis Command Line Interface)是Redis自带的基于命令行的Redis客户端,也是我们学习和测试Redis的重要工具,本书后面会使用它来讲解Redis各种命令的用法. 本节将会介绍如何通过redis-cli向Redis发送命令,并且对Redis命令返回值的不同类型进行简单介绍. 2.3.1 发送命令 通过redis-cli向Redis发送命令有两种方式,第一种方式是将

Redis命令参考中文

Redis命令参考中文网站,很不错的学习资料: http://doc.redisfans.com

《架构之路Redis系列》Redis哨兵模式的搭建

一.哨兵模式 1.简介 Redis Sentinel是Redis官方提供的集群管理工具,可以部署在其他与redis集群可通讯的机器中监控redis集群. 2.特性 监控:能持续监控Redis的主从实例是否正常工作; 通知:当被监控的Redis实例出问题时,能通过API通知系统管理员或其他程序; 自动故障恢复:如果主实例无法正常工作,Sentinel将启动故障恢复机制把一个从实例提升为主实例,其他的从实例将会被重新配置到新的主实例,且应用程序会得到一个更换新地址的通知. 更多访问官方:https:

redis 如何用redis Cluster 实现共享session

问题描述 redis 如何用redis Cluster 实现共享session 10C 在分布式服务器上部署了服务,希望能够达到session同步,所以希望把session存储到redis cluster中,目前网上都都是针对tomcat修改配置后存储到redis单个节点的,请问有人实现过使用redis集群配置的吗?或者有相关资料参考也不甚感激.PS:我已经用redis集群搭建了四主四从8个节点,采用redis-trib命令搭建的,想请问的是如何使用该集群存储session 解决方案 基于Red

redis安装,redis项目以来,redis和spring整合,redis的service,redis的service实现类

一.redis安装: Redis-3.2.6.tar.gz安装,参考方式: 用源码工程来编译安装 1.  到官网下载最新stable版,这里使用的是:redis-3.2.6.tar.gz 2.  cd /usr/local   3.  make redis-src 4.  tar -zxvf    redis-3.2.6.tar.gz  -C  ./redis-src/ 2.解压源码并进入目录cd  /usr/local/redis-src/redis-3.2.6 3. 先执行make,检查是否

基于Redis Sentinel的Redis集群(主从Sharding)高可用方案(转)

本文主要介绍一种通过Jedis&Sentinel实现Redis集群高可用方案,该方案需要使用Jedis2.2.2及以上版本(强制),Redis2.8及以上版本(可选,Sentinel最早出现在Redis2.4中,Redis2.8中Sentinel更加稳定),Redis集群是以分片(Sharding)加主从的方式搭建,满足可扩展性的要求: Redis Sentinel介绍 Redis Sentinel是Redis官方提供的集群管理工具,主要有三大功能: 监控,能持续监控Redis的主从实例是否正常

07_NoSQL数据库之Redis数据库:Redis的高级应用之事务处理、持久化操作、pub_sub、虚拟内存

 事务处理 Redis对事务的支持目前还比较简单.Redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令.当一个client在一个连接中发出multi命令时,这个连接会进入一个事务上下文,该连接后续的命令不会立即执行,而是先放到一个队列中,当执行exec命令时,redis会顺序的执行队列中的所有命令. 127.0.0.1:6379> get age (nil) 127.0.0.1:6379> multi OK                

NoSQL和Redis简介及Redis在Windows下的安装和使用教程_Redis

NoSQL简介 介绍redis前,我想还是先认识下NoSQL,即not only sql, 是一种非关系型的数据存储,key/value键值对存储.现有Nosql DB 产品: Redis/MongoDB/Memcached/Hbase/Cassandra/ Tokyo Cabinet/Voldemort/Dynomite/Riak/ CouchDB/Hypertable/Flare/Tin/Lightcloud/ KiokuDB/Scalaris/Kai/ThruDB, 等等~~~ 为什么需要

Redis 分片实现 Redis Shard

问题描述 redis-shard 是 Redis 分区的 Python API ,基于对 key 和 key tag 进行 CRC32 checksum 计算,可参考文章**://antirez.com/post/redis-presharding.html . 该项目由知乎网开发.使用限制:Redis Shard 不支持所有 Redis 命令不支持多键命令行跨不同的节点,你可以使用 Hash TagRedis Shard 不提供复制机制示例代码:>>> from redis_shard