Redis monitor 监控器
Redis有一个monitor命令,某个client执行monitor命令后,就成为了一个监控器,服务器端执行的所有命令都会发送给监控器
monitor 是一个用来debug的命令,可以帮助我们了解服务器正在发生什么,例如我们打开monitor监控服务器20分钟,可以收集到期间服务器执行的所有命令,那么就可以分析出很多信息,例如:
(1)什么命令执行得次数多
(2)哪些key是热点
(3)通过对get类型命令的提取,统计出发送流量
……
monitor命令使用
127.0.0.1:6379> monitor
OK
执行后返回“OK”,说明此客户端已经成为了监控器,然后就进入了等待状态,当服务器端执行了命令后,这里会自动显示出执行信息,如:
1454886442.140044 [0 127.0.0.1:63773] "keys" "*"
1454886454.538036 [0 127.0.0.1:63773] "get" "user13"
1454886475.392050 [0 127.0.0.1:63773] "get" "mylist_score"
各部分的含义:
1454886442.140044 是时间戳
[0 127.0.0.1:63773] 其中分别为:数据库编号、clent的IP和端口
"keys" "*" 为执行的命令
monitor的实现思路
客户端发送monitor命令后,会发生3个主要的动作
(1)客户端的监视器标识被设置为true
(2)服务器把此客户端添加到了monitors链表的末尾
(3)向客户端返回“OK”
某个client发送命令请求后,server在执行完此命令后,会把命令信息同时发送给monitor链表中个每个client
使用方法
登录redis-cli命令行,输入monitor,即可进入到redis监控模式。
127.0.0.1:6379> monitor
OK
随后即可看到,当有请求时,redis具体都做了什么,我们另外打开一个redis-cli,随便插入一条数据,比如set "hello" "world",monitor监控到
redis-monitor.png
再模拟下上面的那个用户请求数据的功能场景:
def get_user_info(uuid):#如果redis中存在该用户的信息,则直接返回if REDIS.exists(uuid):returnREDIS.get(uuid)#否则从mysql中取,并在redis中设置该信息try:info = mysql_op.query(uuid)assert info is not NoneREDIS.set(uuid, info, ex=3600)except Exception, e:raise ereturn info
首次运行后,对应到redis的监控如下,可以看到,redis里没有找到,然后从mysql中查找,并做了set操作将信息存起来,再次运行后,发现redis里存在,因此直接从redis里get数据。
redis-request-log.png
当然,为了演示,上面只是一个简单的例子,并没有考虑连接性能问题,也没有考虑数据更新,比如用户是做一个更新或者删除操作,则相应的也要把redis里的信息也同步更新。
Redis monitor 监控器相关推荐
- Redis Monitor命令 - 实时打印出Redis服务器接收到的命令,调试用
Redis Monitor 命令用于实时打印出Redis服务器接收到的命令,调试用. 语法 redis Monitor命令基本语法如下: redis 127.0.0.1:6379> MONITO ...
- Redis-集群监控之Redis monitor
连续两天配置Redis 集群监控,尝试过三种开源软件,Redis-live,Redis-state,Redis-monitor ,由于内网生产环境,每一个软件的部署都费了老劲. 简单说一下,避免再有人 ...
- 微服务平台安全性提升_让我们提升软件安全性
微服务平台安全性提升 We've all heard, "Software is eating the world." But, today let's talk about a ...
- 使用Redis,你必须知道的21个注意要点
前言 最近在学习Redis相关知识,看了阿里的redis开发规范,以及Redis开发与运维这本书.分使用规范.有坑的命令.项目实战操作.运维配置四个方向,整理了使用Redis的21个注意点,希望对大家 ...
- 记一次redis规模化运维讨论会
http://www.10tiao.com/html/490/201608/2648672432/1.html 7月29日下午,在滴滴,有幸邀请到了业界的一些同学,一起就「redis规模化运维」踩过的 ...
- Redis 键(key) 命令
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- Open-Falcon 监控系统监控 MySQL/Redis/MongoDB 状态监控
背景: Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,具体的安装和使用说明请见官网:http://open-falcon.org/,是一款比较全的监控.而且提供各种API ...
- linux redis 监控工具,Redis服务器监控工具redis-live
目前来说,越来越多的使用多了NOSQL的业务,但是这方面的监控缺不多.今天给大家介绍几个专业监控redis服务的工具,便于大家进行redis性能分析. 一.redmon 这个工具是用ruby语言写的, ...
- Docker实践(六)部署redis
目录 选择镜像 下载镜像 创建配置 创建启动容器 测试 选择镜像 通过命令docker search redis命令查找redis镜像,在docker hub上寻找需要按章的版本. [root@ecs ...
最新文章
- 防止熊猫烧香的微软补丁
- client-go使用实例
- JavaScript高级程序设计44.pdf
- 谈谈基于机器学习的编程到底比传统编程强在哪里?
- activiti的processEngine空指针异常
- C# mciSendString()实现循环播放音乐
- 对应node版本_安装Node.js教程
- LeetCode 744. 寻找比目标字母大的最小字母(二分查找)
- SqlServer2008 R2删除数据库时报数据库正在使用的错误
- txt文档下载另存为解决
- VSCode下载安装最新详细教程2022(win10)
- 为什么说暴雪必须“手游化”?
- 一文彻底看懂成交量的本质
- 港科夜闻丨香港科大教授权龙:三维重建才是计算机视觉的灵魂
- java邮件抄送_JAVA实现邮件抄送,密送,多个附件发送
- 双十一淘宝美妆消费数据分析
- dynamo for Civil 3d-在横断面上生成对应桩号的平面坐标
- 目标检测的Tricks | 【Trick9】nms非极大值抑制处理(包括变体merge-nms、and-nms、soft-nms、diou-nms等介绍)
- 计算机无法访问iTunes,iPhone连接电脑后iTunes无响应怎么办【解决方法】
- java cs 顺丰运单_JAVA接入顺丰快递