Redis专题——Redis管理工具
一、安全性
1、运行环境
Redis以简洁为美,其安全性没有太多操作,要求在生产系统中外界不能直接连接Redis进行操作,而必须经过程序中转后,由程序进行操作。
即,redis要求运行在可信的环境中。
redis服务器启动后,默认允许外界连接,可以修改其配置文件的bind,配置只能有一个路径进行连接,如bind 127.0.0.1,只允许本机连接。bind只能配置一个ip,因此设置应在防火墙中进行。
2、密码
配置文件中有requirepass,可以设置密码。则每次连接上之后,需要先用AUTH 密码,验证后再进行操作。但是由于redis性能极高,因此有可能会被攻击者用穷举法破解,因此密码要设置的尽量复杂。
如果主从结构的主库设置了密码,从库要在配置文件中的masterauth中,输入密码,以便从库正常连上主库。
3、命令修改
redis支持在配置文件对命令进行重命名,如flushall会清空redis,可以在配置文件中输入rename-command FLUSHALL xxxxx,这个xxxxx应该设置的足够复杂,则要使用flushall,必须用xxxxx来代替。如果要禁用命令,直接rename成空字符串即可。
二、通信协议
redis支持两种通信协议:一是二进制安全的统一请求协议;二是比较直观的便于在程序中直接输入的telnet协议。这两种命令的接收到的返回值一样。
1、telnet
当使用telnet连接上redis服务器后,可以像redis-cli那样对redis输入命令,不过接收到的redis返回是原生的返回,而不是redis-cli上看到的返回。
1)状态回复
以加号+开头,后面跟上状态信息,\r\n结尾,如+OK\r\n。
2)错误回复
以减号-开头,后面跟上错误信息,以\r\n结尾。
3)整数回复
以冒号:开头,后面跟上数字,\r\n结尾。
4)字符串回复
以美元$开头,后面跟上字符串的长度,然后是\r\n,字符串内容,\r\n。
如$5\r\nHello\r\n。如果键没有设定,在redis-cli返回nil,在此则会返回$-1,以和空字符串区别。
5)多行字符串回复
以*开头,跟上字符串的个数,加上\r\n,后面就是和字符串回复一样。
如*2\r\n$5\r\nHello\r\n$5\r\nWorld\r\n。
2、统一请求协议
统一请求协议的请求方式,和telnet里面收到的redis的多行字符串回复一样,先是字符串的个数,接下来是每个字符串的长度和具体内容,并且每个都用\r\n分隔开。
例如redis-cli里面输入get key,则发送的是*3\r\n$3\r\nget\r\n$3\r\nkey\r\n。
统一请求协议收到的返回值和telnet一致。
redis的AOF文件和主从复制中的主数据库向从数据库发送内容,都采用统一请求协议。
三、管理工具
1、基本工具——redis-cli
1)耗时命令查询
通过配置文件,可以配置执行redis的命令超过多长时间时,记录执行的命令等信息共开发人员分析,配置参数slowlog-log-slower-than 微秒。1秒是106微秒,参数默认值是104,即超过0.01秒的执行命令都会计入log。
用slowlog get获取当前的耗时命令的日志,每个日志由4部分组成:日志唯一id、命令开始执行的unix时间、命令执行耗时(微秒)、完整命令及参数。
当设置为0则记录所有命令,设置为负数则关闭。
2)命令监控
MONITOR。输入此命令后,会收到redis返回的OK。此后,任意客户端对此redis服务器进行的操作,都会在此输出。这样非常耗性能(消耗将近一半的负载),因此只用于调试和纠错。
有基于monitor开发的开源脚本redis-faina.py,可以分析在服务器上最常用的命令、最频繁使用的键等信息。
2、phpRedisAdmin
该工具类似phpmyadmin,是用php开发的redis监控管理工具。其依赖于PRedis,因此需要先安装PRedis,再安装phpRedisAdmin。
默认连到127.0.0.1:6379,可以在项目include文件夹的config.inc.php进行修改。
配置好nginx和php后,把phpredisadmin放到网站根目录即可访问。phpredisadmmin将redis的键以树型展开,点击某个键可以查看键的值、键的类型、键的过期时间、键的大小、键的编码方式等,还可以编辑。
由于该工具采用keys*命令获取键,再对每个键采用TYPE获取类型,而redis又是单线程的,因此这样效率不高,不适合在生产环境使用。
3、Rdbtools
这个工具是redis的文件快照(rdb文件)的解析器,根据快照的rdb文件,将其导出成json文件,分析每个键占用空间情况。另外,可以导出到csv,并且可以从csv导入到excel,对结果进行分析。
转载:https://cloud.tencent.com/developer/article/1053767
Redis专题——Redis管理工具的更多相关文章
- Redis Web界面管理工具
Redis Web界面管理工具 一个很友好的Redis Web界面管理工具.基于.NET实现.可以通过Mono部署到Linux上,下面是我部署在CentOS 5.7 + Mono 2.10.8 + ...
- Redis图形化管理工具
一.treeNMS Redis做为现在web应用开发的黄金搭担组合,工作中的项目大量使用了Redis,treeNMS是一款用于JAVA语言开发的Redis管理工具:treeNMS管理工具,直接到htt ...
- redis/memcache监控管理工具——treeNMS
TreeNMS可以帮助您搭建起一套用于redis的监控管理系统,也支持Memcached,让您可以通过web的方式对数据库进行管理,有了它您就可以展示NOSQL数据库.编辑修改内容,另外还配备了sql ...
- Redis客户端管理工具,状态监控工具
TreeNMS是一款Redis web客户端管理工具,采用JAVA开发,实现基于web方式对Redis数据库进行管理.监控.数据维护. 功能包括:数据库的状态监控,库表的展示,key,value的展示 ...
- Linux centos7下安装配置redis及Redis desktop Manager工具连接注意事项
基本工具:VMware12.CentOS-7-x86_64-Everything-1611.iso.redis-desktop-manager-0.8.0.3841 废话不多说,首先,关于什么是Red ...
- Redis桌面管理工具 RedisDesktopManager
下载链接地址:[官网地址:https://redisdesktop.com] redis-desktop-manager-0.8.8.384.exe Source code (zip) Source ...
- redis的图形界面管理工具:phpredisadmin
大部分人都知道redis是一款用在缓存服务器上的软件,它与memcache类似,都可以存储海量的数据,用在大访问量的web网站.聊天记录存放等方面,但是又与memcache不同: 1.缓存数据可以持久 ...
- Redis Desktop Manager桌面管理工具
Redis Desktop Manager桌面管理工具,方便管理我们放在redis中的各个缓存 及16个数据库 http://redisdesktop.com/download
- redis的管理工具
phpredisadmin工具 rdbtools管理工具 saltstack管理redis 通过codis完成redis管理 一:phpredisadmin工具:类似于mysqladmin管理mysq ...
随机推荐
- React-Native三种断点调试方式的流程和优缺点比较
RN的调试和web端的调试虽然相似,但是也有一些不同,下面就来比较一下三种断点调试方法的差异 总结: 感觉还是第一种好一些 1.React-Native-Debugger工具调试法 1.1 首先我们得 ...
- laravel上传至服务器上出现Whoops, looks like something went wrong.
1.在本地能够很好运行的laravel,上传至服务器就出现了这个问题“Whoops, looks like something went wrong.”: 2.第一步把config/app.php文件 ...
- Eureka 入门,带视频
疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...
- C# Thread 线程
Thread 创建和控制线程,设置其优先级并获取其状态 Thread构造函数接收一个无参数或带一个object类型参数的委托 { Console.WriteLine("), DateTim ...
- IT兄弟连 HTML5教程 CSS3属性特效 文字排版
direction定义文字排列方式,所有浏览器都兼容这个属性,有两个可选值rtl和ltr.文字排版的参数说明如表1所示. 表1 CSS3文字排版参数说明 上表所示,ltr是初始值,表示left-to ...
- .net core百万设备连接服务和硬件需求测试
随着物联网的普及,服务应用将面对大量物联设备处理:早期.NET在通讯上的处理能力一直给人的印像并不怎样,但net core经历过大量的优化后在各个模块的处理性能都有着比较出色的提升,针对网络方向的处理 ...
- Consul初探-在深交之前先认识
Consul 是什么? Consul 官方站点:https://www.consul.io/ 首先,官方介绍是:Consul 是一种服务网格的解决方案,在 Consul 中,提供了服务发现.配置.分段 ...
- Cocos2d-x.3.0开发环境搭建之—— 极简式环境搭建
配置:win7 + VS2012 + Cocos2d-x.3.0 + Cocos Studio v1.4.0.1 使用此法可以方便的创建Cocos2d-x项目.如果需要运行Cocos2d-x引擎自带的 ...
- tensorflow基本用法个人笔记
综述 TensorFlow程序分为构建阶段和执行阶段.通过构建一个图.执行这个图来得到结果. 构建图 创建源op,源op不需要任何输入,例如常量constant,源op的输出被传递给其他op做 ...
- Appium(四):真实机第一个appium程序、模拟器第一个appium程序、查看元素
1. 真实机第一个appium程序 学完了前面的知识,也将环境搭建好了,接下来我们就正式开始appium的学习了. 在做app自动化的时候,我们肯定是针对某个产品.某个软件进行测试,那么我们一定是先让 ...