Redis管理:安全/耗时命令日志与命令监控/数据库管理工具
1、安全管理
1)绑定指定IP
Redis的安全设计是在“Redis运行在可信环境”这个前提之下的,在生产环境中建议通过应用程序连接Redis。Redis可以配置只接受来自指定IP的的请求,可通过修改配置文件中的bind来实现,如下:
bind 127.0.0.1
2)设置密码
除此之外,还可以配置requirepass选项来设置密码,如:
requirepass root
配置好重启后ping一下试试
> ping (error) NOAUTH Authentication required. > auth root OK > ping PONG
设置了密码之后,jedis需要这么连接Redis
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost");
jedis.auth("root");
System.out.println(jedis.ping());
}
3)重命名命令
Redis还允许通过配置rename-command重命名命令,如keys *这样的命令在数据量较大的正式环境运行的时候会导致数据库CPU飙升、数据库锁住甚至宕机的后果,因此可以可以修改命令避免该命令被误用。
开启此项功能,需要配置:
rename-command ping iamping
结果:
> ping (error) ERR unknown command `ping`, with args beginning with: > iamping PONG
2、耗时命令日志与命令监控
1)耗时命令日志
当一条命令执行的时间超过限制的时候,redis会将其加入耗时命令日志供开发者查看。相关的配置如下:
slowlog-log-slower-than 10000 //时间限制,超过时间的加入日志(单位是微秒,即1 000 000相当于1s) slowlog-max-len 128 //限制记录的条数
查看耗时命令日志的方式:
> slowlog get ) (integer) ) (integer) ) (integer) ) ) "flushall" ) "127.0.0.1:33234" ) ""
每条日志的格式如下:
()该日志唯一ID ()该命令的UNIX时间 ()该命令的耗时时间,单位是微秒 ()命令及其参数 ()请求的IP及端口
2)命令监控
redis提供monitor命令来监控redis执行的所有命令,因为该命令严重影响性能,只适合开发人员调试。
应用如下,开启两个客户端,一个输入monitor,然后在另一个客户端执行get命令,monitor的客户端显示如下:
> monitor OK ] "get" "foo"
3、phpRedisAdmin
这个工具支持树形结构查看键列表,编辑键值,导入/导出数据库数据,查看数据库信息和查看键信息,类似于Mysql的phpMyAdmin工具,可以在github上下载安装。
4、Rdbtools
Rdbtools是一个Redis的快照文件解析器,可以根据快照文件导出JSON数据文件、分析redis中每个键的占用空间情况。下载安装见github。
使用步骤:
()使用save命令生成快照文件 ()将快照导出为JSON格式 rdb --command json /path/to/dump.rdb > output_filename.json ()生成空间使用情况报告 rdb -c memory /path/to/dump.rdb > out_filename.csv
csv文件字段说明
| 字段 | 说明 |
| database | 存储该键的数据库索引 |
| type | 键类型(使用type命令获得) |
| key | 键名 |
| size_in_bytes | 键大小(字节) |
| encoding | 内部编码(通过OBJECTENCODING获得) |
| num_elements | 键的元素数 |
| len_largest_element | 最大元素的长度 |
Redis管理:安全/耗时命令日志与命令监控/数据库管理工具的更多相关文章
- Redis管理各类型存储数据命令
>>>字符串 1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值. 3 GETRANGE key start end 返回 key 中 ...
- Redis运维的一些常用的命令总结
最近一直管理部门的一些redis的服务器,所以现在来总结一下redis的一些常用的运维命令: 1.time 显示服务器的时间,时间戳(秒) 微秒数 redis 127.0.0.1:6380> ...
- 转 -Filebeat + Redis 管理 LOG日志实践
Filebeat + Redis 管理 LOG日志实践 小赵营 关注 2019.01.06 17:52* 字数 1648 阅读 24评论 0喜欢 2 引用 转载 请注明出处 某早上,领导怒吼声远远传来 ...
- centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课
centos Linux系统日常管理2 tcpdump,tshark,selinux,strings命令, iptables ,crontab,TCP,UDP,ICMP,FTP网络知识 第十五节课 ...
- Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令
Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...
- SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)
SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小.如果你管理数据库的有很 ...
- Redis进阶实践之十五 Redis-cli命令行工具使用详解第二部分(结束)
一.介绍 今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分.话不多说,开始我们今天的讲解.如果要想看第一篇文章,地址如下:http: ...
- Redis源码学习-Master&Slave的命令交互
0. 写在前面 Version Redis2.2.2 Redis中可以支持主从结构,本文主要从master和slave的心跳机制出发(PING),分析redis的命令行交互. 在Redis中,serv ...
- Redis进阶实践之十四 Redis-cli命令行工具使用详解
转载来源:http://www.cnblogs.com/PatrickLiu/p/8508975.html 一.介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redi ...
随机推荐
- java变量的作用域和基本数据类型转换
1.变量的作用域 赋值运算符 变量名 = 表达式 列: a = (b+3)+(b-1) 表达式就是符号(如:加号,减号)与操作数(如:b,3)的组合 自动类型转换(隐式类型转换):从小类型到大类型可以 ...
- iOS sqlite大数据分段加载的实现,sqlite数据库的操作
数据库管理类(自己封装的,挺简单的) // // MyDataBaseManger.m // DB_Test // // Created by admin on 17/2/7. // Copy ...
- 二、JAVA基本数据类型:内置数据类型,引用类型
变量的值存储在内存中,内存管理系统通过变量的类型分配存储空间,且该空间只能存储该类型数据,通过定义不同的变量,在内存中储存不同类型的数据. JAVA的两大数据类型 1. 内置数据类型 2.引用数据类型 ...
- windows环境安装MySQL
转:https://www.cnblogs.com/ayyl/p/5978418.html windows环境安装MySQL mySQL下载链接:MySQL Installer 5.7 :http:/ ...
- windows 安装mysql 5.7的正确姿势
1.首先上MySql的官网下载 https://dev.mysql.com/downloads/mysql/ 2. 以我所选版本为例(免安装版),选择MYSQL Community Server 然 ...
- SSM前言——相关设计模式
1.使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑.客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象. 2.静态代理是指,代理类在程序运行前就已经定义好,其与目 ...
- SQL 优化经历
一次非常有趣的 SQL 优化经历 阅读本文大概需要 6 分钟. 前言 在网上刷到一篇数据库优化的文章,自己也来研究一波. 场景 数据库版本:5.7.25 ,运行在虚拟机中. 课程表 #课程表 cr ...
- Spring boot+Spring Security 4配置整合实例 【转】
http://blog.csdn.net/code__code/article/details/53885510
- torchvision里densenet代码分析
#densenet原文地址 https://arxiv.org/abs/1608.06993 #densenet介绍 https://blog.csdn.net/zchang81/article/de ...
- Spring/Spring MVC
90.为什么要使用 spring? 答:spring是一个开源框架,是个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架 方便结构简化开发 AOP编码的支持 声明式事物的支持 方便程序的测试 ...