AUTH password

  1. 通过设置配置文件中 requirepass 项的值(使用命令 CONFIG SET requirepass password ),可以使用密码来保护 Redis 服务器。
  2. 如果开启了密码保护的话,在每次连接 Redis 服务器之后,就要使用 AUTH 命令解锁,解锁之后才能使用其他 Redis 命令。
  3. CONFIG SET requirepass secret_password 将密码设置为 secret_password
  4. CONFIG GET requirepass获取配置文件中的信息

QUIT

  1. 请求服务器关闭与当前客户端的连接
  2. 一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭

INFO [section]

  1. 以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值

  2. 通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

    • server 部分记录了 Redis 服务器的信息,它包含以下域:

      • redis_version : Redis 服务器版本
      • redis_git_sha1 : Git SHA1
      • redis_git_dirty : Git dirty flag
      • os : Redis 服务器的宿主操作系统
      • arch_bits : 架构(32 或 64 位)
      • multiplexing_api : Redis 所使用的事件处理机制 epoll
      • gcc_version : 编译 Redis 时所使用的 GCC 版本
      • process_id : 服务器进程的 PID
      • run_id : Redis 服务器的随机标识符(用于 Sentinel 和集群)
      • tcp_port : TCP/IP 监听端口
      • uptime_in_seconds : 自 Redis 服务器启动以来,经过的秒数
      • uptime_in_days : 自 Redis 服务器启动以来,经过的天数
      • lru_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理
    • clients 部分记录了已连接客户端的信息,它包含以下域:

      • connected_clients : 已连接客户端的数量(不包括通过从属服务器连接的客户端)
      • client_longest_output_list : 当前连接的客户端当中,最长的输出列表
      • client_longest_input_buf : 当前连接的客户端当中,最大输入缓存
      • blocked_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
    • memory 部分记录了服务器的内存信息,它包含以下域:

      • used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位
      • used_memory_human : 以人类可读的格式返回 Redis 分配的内存总量
      • used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 topps 等命令的输出一致。
      • used_memory_peak : Redis 的内存消耗峰值(以字节为单位)
      • used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值
      • used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)
      • mem_fragmentation_ratio : used_memory_rssused_memory 之间的比率
      • mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。

      在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。

      rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。

      内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。

      used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。

      当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。

      如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。

      查看 used_memory_peak 的值可以验证这种情况是否发生。

    • persistence 部分记录了跟 RDB 持久化和 AOF 持久化有关的信息,它包含以下域:

      • loading : 一个标志值,记录了服务器是否正在载入持久化文件。
      • rdb_changes_since_last_save : 距离最近一次成功创建持久化文件之后,经过了多少秒。
      • rdb_bgsave_in_progress : 一个标志值,记录了服务器是否正在创建 RDB 文件。
      • rdb_last_save_time : 最近一次成功创建 RDB 文件的 UNIX 时间戳。
      • rdb_last_bgsave_status : 一个标志值,记录了最近一次创建 RDB 文件的结果是成功还是失败。
      • rdb_last_bgsave_time_sec : 记录了最近一次创建 RDB 文件耗费的秒数。
      • rdb_current_bgsave_time_sec : 如果服务器正在创建 RDB 文件,那么这个域记录的就是当前的创建操作已经耗费的秒数。
      • aof_enabled : 一个标志值,记录了 AOF 是否处于打开状态。
      • aof_rewrite_in_progress : 一个标志值,记录了服务器是否正在创建 AOF 文件。
      • aof_rewrite_scheduled : 一个标志值,记录了在 RDB 文件创建完毕之后,是否需要执行预约的 AOF 重写操作。
      • aof_last_rewrite_time_sec : 最近一次创建 AOF 文件耗费的时长。
      • aof_current_rewrite_time_sec : 如果服务器正在创建 AOF 文件,那么这个域记录的就是当前的创建操作已经耗费的秒数。
      • aof_last_bgrewrite_status : 一个标志值,记录了最近一次创建 AOF 文件的结果是成功还是失败。

      如果 AOF 持久化功能处于开启状态,那么这个部分还会加上以下域:

      • aof_current_size : AOF 文件目前的大小。
      • aof_base_size : 服务器启动时或者 AOF 重写最近一次执行之后,AOF 文件的大小。
      • aof_pending_rewrite : 一个标志值,记录了是否有 AOF 重写操作在等待 RDB 文件创建完毕之后执行。
      • aof_buffer_length : AOF 缓冲区的大小。
      • aof_rewrite_buffer_length : AOF 重写缓冲区的大小。
      • aof_pending_bio_fsync : 后台 I/O 队列里面,等待执行的 fsync 调用数量。
      • aof_delayed_fsync : 被延迟的 fsync 调用数量
    • stats 部分记录了一般统计信息,它包含以下域:

      • total_connections_received : 服务器已接受的连接请求数量。
      • total_commands_processed : 服务器已执行的命令数量。
      • instantaneous_ops_per_sec : 服务器每秒钟执行的命令数量。
      • rejected_connections : 因为最大客户端数量限制而被拒绝的连接请求数量。
      • expired_keys : 因为过期而被自动删除的数据库键数量。
      • evicted_keys : 因为最大内存容量限制而被驱逐(evict)的键数量。
      • keyspace_hits : 查找数据库键成功的次数。
      • keyspace_misses : 查找数据库键失败的次数。
      • pubsub_channels : 目前被订阅的频道数量。
      • pubsub_patterns : 目前被订阅的模式数量。
      • latest_fork_usec : 最近一次 fork() 操作耗费的毫秒数。
    • replication : 主/从复制信息

      • role : 如果当前服务器没有在复制任何其他服务器,那么这个域的值就是 master ;否则的话,这个域的值就是 slave 。注意,在创建复制链的时候,一个从服务器也可能是另一个服务器的主服务器。

      如果当前服务器是一个从服务器的话,那么这个部分还会加上以下域:

      • master_host : 主服务器的 IP 地址。
      • master_port : 主服务器的 TCP 监听端口号。
      • master_link_status : 复制连接当前的状态, up 表示连接正常, down 表示连接断开。
      • master_last_io_seconds_ago : 距离最近一次与主服务器进行通信已经过去了多少秒钟。
      • master_sync_in_progress : 一个标志值,记录了主服务器是否正在与这个从服务器进行同步

      如果同步操作正在进行,那么这个部分还会加上以下域:

      • master_sync_left_bytes : 距离同步完成还缺少多少字节数据。
      • master_sync_last_io_seconds_ago : 距离最近一次因为 SYNC 操作而进行 I/O 已经过去了多少秒。

      如果主从服务器之间的连接处于断线状态,那么这个部分还会加上以下域:

      • master_link_down_since_seconds : 主从服务器连接断开了多少秒。

      以下是一些总会出现的域:

      • connected_slaves : 已连接的从服务器数量。

      对于每个从服务器,都会添加以下一行信息:

      • slaveXXX : ID、IP 地址、端口号、连接状态
    • cpu 部分记录了 CPU 的计算量统计信息,它包含以下域:

      • used_cpu_sys : Redis 服务器耗费的系统 CPU 。
      • used_cpu_user : Redis 服务器耗费的用户 CPU 。
      • used_cpu_sys_children : 后台进程耗费的系统 CPU 。
      • used_cpu_user_children : 后台进程耗费的用户 CPU
    • commandstats 部分记录了各种不同类型的命令的执行统计信息,比如命令执行的次数、命令耗费的 CPU 时间、执行每个命令耗费的平均 CPU 时间等等。对于每种类型的命令,这个部分都会添加一行以下格式的信息:

      • cmdstat_XXX:calls=XXX,usec=XXX,usecpercall=XXX
    • cluster 部分记录了和集群有关的信息,它包含以下域:

      • cluster_enabled : 一个标志值,记录集群功能是否已经开启。
    • keyspace 部分记录了数据库相关的统计信息,比如数据库的键数量、数据库已经被删除的过期键数量等。对于每个数据库,这个部分都会添加一行以下格式的信息:

      • dbXXX:keys=XXX,expires=XXX
    • 除上面给出的这些值以外, section 参数的值还可以是下面这两个:

      • all : 返回所有信息
      • default : 返回默认选择的信息

SHUTDOWN [SAVE|NOSAVE]

  1. SHUTDOWN命令执行以下操作:

    • 停止所有客户端
    • 如果有至少一个保存点在等待,执行[SAVE]命令
    • 如果 AOF 选项被打开,更新 AOF 文件
    • 关闭 redis 服务器(server)

    如果持久化被打开的话,SHUTDOWN命令会保证服务器正常关闭而不丢失任何数据。

TIME

  1. 返回当前服务器时间。
  2. 返回值:一个包含两个字符串的列表: 第一个字符串是当前时间(以 UNIX 时间戳格式表示),而第二个字符串是当前这一秒钟已经逝去的微秒数。

CLIENT SETNAME connection-name

  1. 为当前连接分配一个名字, 新创建的连接默认是没有名字的。
  2. 这个名字会显示在 CLIENT LIST 命令的结果中, 用于识别当前正在与服务器进行连接的客户端。
  3. 要移除一个连接的名字, 可以将连接的名字设为空字符串 ""
  4. 使用 CLIENT GETNAME 命令可以取出连接的名字。

CLIENT GETNAME

  1. 返回 CLIENT SETNAME 命令为连接设置的名字。
  2. 因为新创建的连接默认是没有名字的, 对于没有名字的连接, CLIENT GETNAME 返回空白回复。

CLIENT KILL ip:port

  1. 关闭地址为 ip:port 的客户端。
  2. ip:port 应该和 CLIENT LIST 命令输出的其中一行匹配。
  3. 因为 Redis 使用单线程设计,所以当 Redis 正在执行命令的时候,不会有客户端被断开连接。
  4. 如果要被断开连接的客户端正在执行命令,那么当这个命令执行之后,在发送下一个命令的时候,它就会收到一个网络错误,告知它自身的连接已被关闭。

CLIENT LIST

  1. 以人类可读的格式,返回所有连接到服务器的客户端信息和统计数据。
  2. 返回值中的属性:
    • addr : 客户端的地址和端口
    • fd : 套接字所使用的文件描述符
    • age : 以秒计算的已连接时长
    • idle : 以秒计算的空闲时长
    • flags : 客户端 flag
      • O : 客户端是 MONITOR 模式下的附属节点(slave)
      • S : 客户端是一般模式下(normal)的附属节点
      • M : 客户端是主节点(master)
      • x : 客户端正在执行事务
      • b : 客户端正在等待阻塞事件
      • i : 客户端正在等待 VM I/O 操作(已废弃)
      • d : 一个受监视(watched)的键已被修改, EXEC 命令将失败
      • c : 在将回复完整地写出之后,关闭链接
      • u : 客户端未被阻塞(unblocked)
      • A : 尽可能快地关闭连接
      • N : 未设置任何 flag
    • db : 该客户端正在使用的数据库 ID
    • sub : 已订阅频道的数量
    • psub : 已订阅模式的数量
    • multi : 在事务中被执行的命令数量
    • qbuf : 查询缓冲区的长度(字节为单位, 0 表示没有分配查询缓冲区)
    • qbuf-free : 查询缓冲区剩余空间的长度(字节为单位, 0 表示没有剩余空间)
    • obl : 输出缓冲区的长度(字节为单位, 0 表示没有分配输出缓冲区)
    • oll : 输出列表包含的对象数量(当输出缓冲区没有剩余空间时,命令回复会以字符串对象的形式被入队到这个队列里)
    • omem : 输出缓冲区和输出列表占用的内存总量
    • events : 文件描述符事件(见下文)
      • r : 客户端套接字(在事件 loop 中)是可读的(readable)
      • w : 客户端套接字(在事件 loop 中)是可写的(writeable)
    • cmd : 最近一次执行的命令

CONFIG SET parameter value

  1. CONFIG SET 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。
  2. CONFIG SET 修改的配置参数可以使用命令 CONFIG GET * 来列出

CONFIG GET parameter

  1. CONFIG GET 命令用于取得运行中的 Redis 服务器的配置参数

  2. CONFIG GET 接受单个参数 parameter 作为搜索关键字,查找所有匹配的配置参数,其中参数和值以“键-值对”(key-value pairs)的方式排列:

    比如执行 CONFIG GET s* 命令,服务器就会返回所有以 s 开头的配置参数及参数

  3. 所有被 CONFIG SET 所支持的配置参数都可以在配置文件 redis.conf 中找到,不过 CONFIG GETCONFIG SET 使用的格式和 redis.conf 文件所使用的格式有以下两点不同:

    10kb2gb 这些在配置文件中所使用的储存单位缩写,不可以用在 CONFIG 命令中, CONFIG SET 的值只能通过数字值显式地设定。

    CONFIG SET xxx 1k 这样的命令是错误的,正确的格式是 CONFIG SET xxx 1000

  4. save 选项在 redis.conf 中是用多行文字储存的,但在 CONFIG GET 命令中,它只打印一行文字。

CONFIG RESETSTAT

  1. 重置 INFO 命令中的某些统计数据,包括:

    • Keyspace hits (键空间命中次数)
    • Keyspace misses (键空间不命中次数)
    • Number of commands processed (执行命令的次数)
    • Number of connections received (连接服务器的次数)
    • Number of expired keys (过期key的数量)
    • Number of rejected connections (被拒绝的连接数量)
    • Latest fork(2) time(最后执行 fork(2) 的时间)
    • The aof_delayed_fsync counter(aof_delayed_fsync 计数器的值)

CONFIG REWRITE

  1. CONFIG REWRITE 命令对启动 Redis 服务器时所指定的 redis.conf 文件进行改写: 因为 CONFIG SET 命令可以对服务器的当前配置进行修改, 而修改后的配置可能和redis.conf 文件中所描述的配置不一样, CONFIG REWRITE 的作用就是通过尽可能少的修改, 将服务器当前所使用的配置记录到 redis.conf 文件中。
  2. 重写会以非常保守的方式进行:
    • 原有 redis.conf 文件的整体结构和注释会被尽可能地保留。
    • 如果一个选项已经存在于原有 redis.conf 文件中 , 那么对该选项的重写会在选项原本所在的位置(行号)上进行。
    • 如果一个选项不存在于原有 redis.conf 文件中, 并且该选项被设置为默认值, 那么重写程序不会将这个选项添加到重写后的 redis.conf 文件中。
    • 如果一个选项不存在于原有 redis.conf 文件中, 并且该选项被设置为非默认值, 那么这个选项将被添加到重写后的 redis.conf 文件的末尾。
    • 未使用的行会被留白。 比如说, 如果你在原有 redis.conf 文件上设置了数个关于 save 选项的参数, 但现在你将这些 save 参数的一个或全部都关闭了, 那么这些不再使用的参数原本所在的行就会变成空白的。
  3. 即使启动服务器时所指定的 redis.conf 文件已经不再存在, CONFIG REWRITE 命令也可以重新构建并生成出一个新的 redis.conf 文件。
  4. 另一方面, 如果启动服务器时没有载入 redis.conf 文件, 那么执行 CONFIG REWRITE 命令将引发一个错误。
  5. redis.conf 文件的重写是原子性的, 并且是一致的: 如果重写出错或重写期间服务器崩溃, 那么重写失败, 原有 redis.conf 文件不会被修改。 如果重写成功, 那么 redis.conf 文件为重写后的新文件。

PING

  1. 使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG
  2. 通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值

ECHO message

  1. 打印一个特定的信息 message ,测试时使用。
  2. ECHO "Hello Moto"

Redis获取客户端 服务器信息常用命令相关推荐

  1. Redis数据库的部署及常用命令

    Redis数据库的部署及常用命令 一.关系数据库和非关系数据库 1.1 关系型数据库 1.2 非关系型数据库 1.2.1 非关系型数据库的产生背景 1.2.2 关系型数据库和非关系型数据库区别 1)数 ...

  2. 无法获取到服务器信息,未获取到服务器信息

    未获取到服务器信息 内容精选 换一换 无法正常使用Cloud-init.弹性云服务器获取Metadata的流程如图1所示:获取Metadata流程图您可以按照以下原因进行排查,如果解决完某个可能原因仍 ...

  3. linux 查看服务器性能常用命令

    2019独角兽企业重金招聘Python工程师标准>>> linux 查看服务器性能常用命令 一.top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况, ...

  4. 通过request对象获取客户端请求信息

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  5. Linux服务器个人常用命令

    服务器个人常用命令 登入登出服务器 文件传输移动删除 上传文件 下载文件 拷贝文件 移动文件 删除文件 创建文件与文件夹 查看文件及路径 References 登入登出服务器 login ssh us ...

  6. suse linux服务器的常用命令

    suse linux服务器的常用命令 1,让进程gate_way在后台运行: nohup ./gate_way & 2,查看某一进程的ID: ps -ef | grep  gate_way 3 ...

  7. 查看Linux当前操作系统版本信息常用命令

    查看Linux当前操作系统版本信息常用命令 Linux查看当前操作系统版本信息 Linux查看版本当前操作系统内核信息 linux查看版本当前操作系统发行信息 Linux查看cpu相关信息,包括型号. ...

  8. 华为交换机查看端口相关信息常用命令

    华为交换机查看端口相关信息常用命令 1.显示接口的运行状态和相关信息 display interface Ethernet brief (dis int br) 2.查看接口的描述信息 display ...

  9. Java中使用redis的完整实例及常用命令

    一.server端安装 1.下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位w ...

最新文章

  1. python使用函数的优点-Python用了这么多年,总结出超实用的功能和特点
  2. 团队项目博客检查结果汇总
  3. 1.x到2.x的迁移:可观察与可观察:RxJava FAQ
  4. 100*100的 canvas 占多少内存?
  5. 如何提取左声道音频_TRS? TRRS? 正式录制前,您确保麦克风的音频线插对了吗?...
  6. JVM可视化监测工具jconsole 入门说明
  7. OSI参考模型各层的功能详解
  8. 【吹水阁】为什么微信红包单次上限200,不限制次数?——微信红包、转账支付宝转账
  9. Turtle画图之太阳花
  10. 【NOIP2006】金明的预算方案
  11. jQuery ? NO, Axios——请求数据
  12. google android模拟器多系统,Android模拟器安装教程_体验google_Android系统手机
  13. 深圳MPD大会 讲师演讲稿 2014-10
  14. C++学习 十五、类继承(1)基类,派生类,访问权限,protected
  15. 星盈科技虚拟带库VTL-100面市 可节省30倍空间
  16. K210学习笔记(五)——MAIX BIT(K210)与STM32串口通讯
  17. Windows10系统蓝屏解决方案
  18. 存储在icloud云盘文件夹顶层_重大问题!icloud云盘自动重命名且丢失文件… - Apple 社区...
  19. ERP系统-销售子系统-销售换货/退货单
  20. python listbox大小_python 3.5 tkinter.listbox更改大小

热门文章

  1. android 朋友圈功能,Android仿微信朋友圈全文收起功能示例(附源码)
  2. MCE | 免疫检查点大组团
  3. 抖音创始人:我面试了两千个年轻人,发现混的好的都有这5种特质
  4. MFC小技巧系列——1、初始焦点设置
  5. 矩阵论(八):矩阵微分与矩阵求导
  6. 被骂了..........
  7. elasticsearch的percolator操作
  8. 手机触摸 事件, 当触摸屏幕时候触发
  9. 正点原子IMX6ULL阿尔法测评感知
  10. Proteus逻辑分析仪总线的使用