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

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: monitor是什么?有时候我们需要知道客户端对redis服务端做了那些命令操作。我们可以试用monitor命令来查看。 他能清楚的看到客户端在什么时间点执行了那些命令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

1.png

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

1.jpg

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
24天前
|
NoSQL Java Redis
redis-学习笔记(Jedis 通用命令)
redis-学习笔记(Jedis 通用命令)
28 1
|
12天前
|
NoSQL Java 网络安全
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
Redis在java(Maven)中使用,常用基本命令大全,最全Termius怎么进行端口映射(MAC系统最简单教学)
|
12天前
|
缓存 NoSQL 关系型数据库
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
Redis第二课,1.set key value(设置对应的key和value)2.get key(得到value值)Redis全局命令(支持很多的数据结构)3.keys(用来查询当前
|
12天前
|
NoSQL Redis 索引
Redis的基础命令集详解
Redis的基础命令集详解
11 0
|
13天前
|
存储 消息中间件 缓存
Redis基础命令集详解
Redis基础命令集详解
11 0
|
13天前
|
NoSQL Redis Python
python中使用redis的常用命令
Python中使用Redis的常用命令。redis-py库提供了一个简单而强大的接口来执行Redis的各种操作。你可以根据需要选择合适的命令来操作Redis数据结构。
14 0
|
14天前
|
NoSQL Java Redis
【Redis】 Java操作客户端命令——集合操作与有序集合操作
【Redis】 Java操作客户端命令——集合操作与有序集合操作
|
14天前
|
NoSQL Java Redis
【Redis】 Java操作客户端命令——列表操作与哈希操作
【Redis】 Java操作客户端命令——列表操作与哈希操作
|
14天前
|
NoSQL Java Redis
【Redis】 Java操作Redis客户端命令——基础操作与字符串操作
【Redis】 Java操作Redis客户端命令——基础操作与字符串操作
|
14天前
|
机器学习/深度学习 XML NoSQL
【Redis】 String 字符串类型常见命令
【Redis】 String 字符串类型常见命令