博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 入门指南(五)管理
阅读量:3905 次
发布时间:2019-05-23

本文共 1427 字,大约阅读时间需要 4 分钟。

5. 管理

5.1 安全

        Redis以简洁为美,在安全层面没有做太多的工作。

5.1.1 可信的环境

        在生产环境运行时,不能允许外界直接连接到Redis服务器上,而应该通过应用程序中转,运行在可信的环境中是保证Redis安全的最重要方法。

         Redis的默认配置会接受来自任何地址发来的请求,即在任何一个拥有公网IP的服务器上启动Redis服务器,都可以被外界直接访问到。要更改这一设置,在配置文件中修改bind参数,如只允许本机应用连接Redis,可以将bind参数改成:bind 127.0.0.1

        bind参数只能绑定一个地址,如果想更自由地设置访问规则需要通过防火墙来完成。

5.1.2 数据库密码

        通过配置文件中的requirepass参数为Redis设置一个密码,客户端每次连接到Redis时都需要发送密码,否则Redis会拒绝执行客户端发来的命令。

        由于Redis的性能极高,并且输入错误密码后Redis并不会进行主动延迟(考虑到Redis的单线程),所有攻击者可以通过穷举法破解Redis的密码(1秒内能够尝试十几万个密码),因此在设置时一定要选择复杂的密码。

5.1.3 命令命名

        Redis支持在配置文件中将命令重命名,比如将CONFIG命令重命名成一个比较复杂的名字,以保证只有自己的应用可以使用该命令。

        如果希望直接禁用某个命令可以将命令重命名为字符串。

        注意 无论设置密码还是重命名命令,都需要保证配置文件的安全性,否则就没有任何意义了。

5.2 通信协议

        Redis支持两种通信协议:二进制安全的统一请求协议(undefined request protocol);比较直观便于在telnet程序中输入的简单协议。

5.2.1 简单协议

        适合在telnet程序中和Redis通信。它的格式就是将命令和各个参数使用空格隔开,如“exists foo”、“set foo bar”等。由于Redis解析简单协议时只是简单地以空格分隔参数,所以无法输入二进制字符。可以通过telnet程序测试。

5.2.2 统一请求协议

        从Redis1.2开始加入,其命令格式和多行字符串回复的格式很类似,如set foo bar的统一请求协议写法是:*3\r\n$3\r\nSET\r\n$3\r\nfoo\r\n$3\r\nbar\r\n,还是使用telnet进行演示。

        Redis的AOF文件和主从复制时主数据库向从数据库发送的内容都使用了统一请求协议。如果只是想通过telnet向Redis服务器发送命令则使用简单协议就可以了。

5.3 管理Redis时非常有用的几个命令

5.3.1 耗时命令日志

        当一条命令执行时间超过限制时,Redis会将该命令的执行时间等信息加入耗时命令日志(slow log)以便开发者查看。可以通过配置文件的slowlog-log-slower-than参数设置这一限制,单位微秒(1 000 000微妙相当于1秒),默认值是10 000。耗时命令日志存储在内存中,可以通过配置文件slow-log-max-len参数来限制记录的条数。

5.3.2 命令监控

        MONITOR命令来监控redis执行的所有命令。会打印出MONITOR开启之后执行的所有命令。

        MONITOR命令非常影响Redis的性能,一个客户端使用MONITOR命令会降低redis将近一半的负载能力。所以MONITOR命令只适合用来调试和纠错。

转载地址:http://tpqen.baihongyu.com/

你可能感兴趣的文章
网络服务(3)——以太网phy的识别加载(RK3399)
查看>>
网络服务(5)——usb网卡名称修改(RK3399 Ubuntu)
查看>>
行业观察与理解-互联网巨幕下各行业的现状和发展
查看>>
数据结构与算法大全
查看>>
稳定排序和不稳定排序
查看>>
句柄泄露与CloseHandle()
查看>>
一些笔记
查看>>
SVN的安装和使用
查看>>
APP测试点分析
查看>>
JDK安装过程中出现“javac不是内部或外部命令”问题的解决
查看>>
Git使用教程
查看>>
APT使用指南
查看>>
adb介绍
查看>>
Android lint相关
查看>>
WebDriver介绍
查看>>
testNG介绍
查看>>
SDN
查看>>
NFV SDN
查看>>
SDN Brief Introduction
查看>>
xrange vs range python
查看>>