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

原文地址:https://www.cnblogs.com/zmdComeOn/p/11704882.html

时间: 2024-10-03 22:05:12

Redis专题——Redis管理工具的相关文章

Redis Web界面管理工具

Redis Web界面管理工具 一个很友好的Redis Web界面管理工具.基于.NET实现.可以通过Mono部署到Linux上,下面是我部署在CentOS 5.7 + Mono 2.10.8 + Jexus 5.0.1: 详情介绍:http://www.servicestack.net/mythz_blog/?p=381 项目地址:https://github.com/ServiceStack/ServiceStack.RedisWebServices 源码下载地址:https://githu

Redis图形化管理工具

一.treeNMS Redis做为现在web应用开发的黄金搭担组合,工作中的项目大量使用了Redis,treeNMS是一款用于JAVA语言开发的Redis管理工具:treeNMS管理工具,直接到http://www.treesoft.cn/dms.html下载 二.redis desktop manager Redis Desktop Manager是一款好用的Redis桌面管理工具,支持命令控制台操作,以及常用,查询key,rename,delete等操作. 原文地址:https://www.

Redis研究(十四)—管理工具

工欲善其事,必先利其器.在使用Redis的时候如果能够有效利用Redis的各种管理工具,将会大大方便开发和管理. 一. redis-cli 相信大家对redis-cli已经很熟悉了,作为Redis自带的命令行客户端,你可以从任何安装有Redis的服务器中找到它,所以对于管理Redis 而言redis-cli是最简单实用的工具.redis-cli可以执行大部分的Redis命令,包括查看数据库信息的INFO命令,更改数据库设置的 CONFIG命令和强制进行RDB快照的SAVE命令等,下面会介绍几个管

Linux centos7下安装配置redis及Redis desktop Manager工具连接注意事项

基本工具:VMware12.CentOS-7-x86_64-Everything-1611.iso.redis-desktop-manager-0.8.0.3841 废话不多说,首先,关于什么是Redis.Redis的安装,请下载这个文档去阅读. http://pan.baidu.com/s/1bBPYua 阅读完安装Redis的文档后,启动Redis显示下图,则成功! 关于前端与后端启动命令,请务必注意路径! 根据文档的模式安装成功后,redis.conf文件复制进来后,自己的redis目录应

Redis 集群管理常见操作

Redis 内置客户端 redis-cli 通过 --cluster 选项集成了多个 Redis 集群管理工具, 这些工具可以执行创建集群.向集群中添加或移除节点.对集群实施重分片以及负载均衡等操作, 它们每一个都非常强大:$ redis-cli --cluster help``` Cluster Manager Commands:create host1:port1 ... hostN:portN--cluster-replicas <arg>check host:portinfo host

redis的图形界面管理工具:phpredisadmin

大部分人都知道redis是一款用在缓存服务器上的软件,它与memcache类似,都可以存储海量的数据,用在大访问量的web网站.聊天记录存放等方面,但是又与memcache不同: 1.缓存数据可以持久化,没有缓存时间限制 2.支持更多的数据类型:string.list .set .sorted set .hash (参考:http://www.cnblogs.com/xhan/archive/2011/02/02/1948891.html) 3.与memcache类似,数据都会存在内存中,这样速

Redis桌面管理工具 RedisDesktopManager

下载链接地址:[官网地址:https://redisdesktop.com] redis-desktop-manager-0.8.8.384.exe Source code (zip) Source code (tar.gz) Redis Desktop Manager(RedisDesktopManager,RDM)是一个快速.简单.支持跨平台的 Redis 桌面管理工具,基于 Qt 5 开发,支持通过 SSH Tunnel 连接. 点击左下角的Connect to Redis Server连

Redis Desktop Manager桌面管理工具

Redis Desktop Manager桌面管理工具,方便管理我们放在redis中的各个缓存 及16个数据库 http://redisdesktop.com/download

安装Redis的图形界面管理工具phpRedisAdmin

安装Redis的图形界面管理工具phpRedisAdmin Redis还提供了一个图形界面管理工具phpRedisAdmin,与MySQL提供的phpMyAdmin页面管理工具类似,他们都是基于php代码的工具.phpRedisAdmin主要提供对key值的维护增删改查.对库的导入导出.查看info信息. 另外站在性能的角度上看,我不建议在线上redis环境中使用,毕竟phpRedisAdmin是一款对海量大数据进行管理的web界面,会消耗比较大的系统资源. 安装步骤: 1. 安装LAMP,参见