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

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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
相关文章
|
13天前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
78 30
|
2月前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
771 29
|
4月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
104 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
3月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
145 0
|
4月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
4月前
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
125 3
|
4月前
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
603 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
|
4月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
58 0
|
5月前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
230 3
|
5月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
95 0