1、安全管理

1)绑定指定IP

Redis的安全设计是在“Redis运行在可信环境”这个前提之下的,在生产环境中建议通过应用程序连接Redis。Redis可以配置只接受来自指定IP的的请求,可通过修改配置文件中的bind来实现,如下:

  1. bind 127.0.0.1

2)设置密码

除此之外,还可以配置requirepass选项来设置密码,如:

  1. requirepass root

配置好重启后ping一下试试

  1. > ping
  2. (error) NOAUTH Authentication required.
  3. > auth root
  4. OK
  5. > ping
  6. PONG

设置了密码之后,jedis需要这么连接Redis

  1. public static void main(String[] args) {
  2. Jedis jedis = new Jedis("localhost");
  3. jedis.auth("root");
  4. System.out.println(jedis.ping());
  5. }

 3)重命名命令

Redis还允许通过配置rename-command重命名命令,如keys *这样的命令在数据量较大的正式环境运行的时候会导致数据库CPU飙升、数据库锁住甚至宕机的后果,因此可以可以修改命令避免该命令被误用。

开启此项功能,需要配置:

  1. rename-command ping iamping

结果:

  1. > ping
  2. (error) ERR unknown command `ping`, with args beginning with:
  3. > iamping
  4. PONG

2、耗时命令日志与命令监控

1)耗时命令日志

当一条命令执行的时间超过限制的时候,redis会将其加入耗时命令日志供开发者查看。相关的配置如下:

  1. slowlog-log-slower-than 10000 //时间限制,超过时间的加入日志(单位是微秒,即1 000 000相当于1s)
  2. slowlog-max-len 128 //限制记录的条数

查看耗时命令日志的方式:

  1. > slowlog get
  2. ) (integer)
  3. ) (integer)
  4. ) (integer)
  5. ) ) "flushall"
  6. ) "127.0.0.1:33234"
  7. ) ""

每条日志的格式如下:

  1. ()该日志唯一ID
  2. ()该命令的UNIX时间
  3. ()该命令的耗时时间,单位是微秒
  4. ()命令及其参数
  5. ()请求的IP及端口

2)命令监控

redis提供monitor命令来监控redis执行的所有命令,因为该命令严重影响性能,只适合开发人员调试。

应用如下,开启两个客户端,一个输入monitor,然后在另一个客户端执行get命令,monitor的客户端显示如下:

  1. > monitor
  2. OK
  3. ] "get" "foo"

 3、phpRedisAdmin

这个工具支持树形结构查看键列表,编辑键值,导入/导出数据库数据,查看数据库信息和查看键信息,类似于Mysql的phpMyAdmin工具,可以在github上下载安装。

4、Rdbtools

Rdbtools是一个Redis的快照文件解析器,可以根据快照文件导出JSON数据文件、分析redis中每个键的占用空间情况。下载安装见github。

使用步骤:

  1. ()使用save命令生成快照文件
  2. ()将快照导出为JSON格式
  3. rdb --command json /path/to/dump.rdb > output_filename.json
  4. ()生成空间使用情况报告
  5. 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管理:安全/耗时命令日志与命令监控/数据库管理工具的更多相关文章

  1. Redis管理各类型存储数据命令

    >>>字符串 1 SET key value 设置指定 key 的值 2 GET key 获取指定 key 的值. 3 GETRANGE key start end 返回 key 中 ...

  2. Redis运维的一些常用的命令总结

    最近一直管理部门的一些redis的服务器,所以现在来总结一下redis的一些常用的运维命令: 1.time  显示服务器的时间,时间戳(秒) 微秒数 redis 127.0.0.1:6380> ...

  3. 转 -Filebeat + Redis 管理 LOG日志实践

    Filebeat + Redis 管理 LOG日志实践 小赵营 关注 2019.01.06 17:52* 字数 1648 阅读 24评论 0喜欢 2 引用 转载 请注明出处 某早上,领导怒吼声远远传来 ...

  4. 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网络知识 第十五节课 ...

  5. Redis 的键命令、HyperLogLog 命令、脚本命令、连接命令、服务器命令

    Redis 的键命令.HyperLogLog 命令.脚本命令.连接命令.服务器命令 Redis 的键命令 Redis 的键命令主要用于管理 Redis 的键,如删除键.查询键.修改键及设置某个键等. ...

  6. SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace)

      SQL Server:查看SQL日志文件大小命令:dbcc sqlperf(logspace) DBA 日常管理工作中,很重要一项工作就是监视数据库文件大小,及日志文件大小.如果你管理数据库的有很 ...

  7. Redis进阶实践之十五 Redis-cli命令行工具使用详解第二部分(结束)

    一.介绍           今天继续redis-cli使用的介绍,上一篇文章写了一部分,写到第9个小节,今天就来完成第二部分.话不多说,开始我们今天的讲解.如果要想看第一篇文章,地址如下:http: ...

  8. Redis源码学习-Master&Slave的命令交互

    0. 写在前面 Version Redis2.2.2 Redis中可以支持主从结构,本文主要从master和slave的心跳机制出发(PING),分析redis的命令行交互. 在Redis中,serv ...

  9. Redis进阶实践之十四 Redis-cli命令行工具使用详解

    转载来源:http://www.cnblogs.com/PatrickLiu/p/8508975.html 一.介绍 redis学了有一段时间了,以前都是看视频,看教程,很少看官方的东西.现在redi ...

随机推荐

  1. fedora liveuser 切换root;su -l root

    安装完Fedora 14后,默认没有启用sudo,首先应该是对sudo进行设置.sudo的作用就是使当前非root用户在使用没有权限的命令时,直接在命令前加入sudo,在输入自己当前用户的密码就可以完 ...

  2. C++实现 电子邮件客户端程序(简易版)

    #Windows操作系统下 用命令行工具实现发送邮件(编程前工作) 步骤: 1.telnet连接服务器(以用QQ邮箱向网易邮箱发送邮件为例,端口号25) 2.返回220 说明连接成功 3.ehlo发送 ...

  3. scott用户不存在

    用的Oracle版本是12c,在解锁scott时提示用户不存在,于是搜解决方法,给出了两种方法: 一种是加载scott.sql文件(我的scott.sql文件是存在的,在Oracle安装目录下搜索一下 ...

  4. Spring源码学习(3)—— 自定义标签

    上一篇讲了Spring对默认标签的解析,Spring提供了很多属性,可以供开发者根据不同情况使用.绝大多数情况下,这些功能就已经足够了.但是,当用户有更特殊的需求,又或者很多公司自己实现的服务治理框架 ...

  5. linux——系统内核参数优化

    vim /etc/sysctl.conf net.ipv4.tcp_syncookies = 1 fs.file-max = 999999 net.ipv4.tcp_max_tw_buckets = ...

  6. nginx 开启高效文件传输模式

    (1) sendfile 参数用于开启文件的高效传输模式,该参数实际上是激活了 sendfile() 功能,sendfile() 是作用于两个文件描述符之间的数据拷贝函数,这个拷贝操作是在内核之中的, ...

  7. 《ProgrammingHive》阅读笔记-第二章

    书本第二章的一些知识点,在cloudera-quickstart-vm-5.8.0-0上进行操作. 配置文件 配置在/etc/hive/conf/hive-site.xml文件里面,采用mysql作为 ...

  8. 使用miniconda创建python虚拟环境

    安装python指定环境 conda create -n oldboy python=3.6.5 安装环境的同时安装相应的包 conda create -n oldboy python=3.6.5 p ...

  9. php输出数据到csv文件

    function export() { $fileName = date('Y-m-d').uniqid().'.csv'; set_time_limit(0); ini_set('memory_li ...

  10. systemd service 设置limit,不生效问题

    参考博文: http://smilejay.com/2016/06/centos-7-systemd-conf-limits/(解决方法参考此博文)   问题简述:Centos7下修改系统的最大文件打 ...