Redis 管理命令

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
日志服务 SLS,月写入数据量 50GB 1个月
简介:

一、概述


Redis在设计之初就被定义为长时间不间断运行的服务进程,因此大多数系统配置参数都可以在不重新启动进程的情况下立即生效。即便是将当前的持久化模式从AOF切换到RDB也无需重启。

在Redis中,提供了一组和服务器管理相关的命令,其中就包含和参数设置有关的CONFIG SET/GET command。

 

二、相关命令列表 

   

命令格式

命令描述

返回值

INFO [section]

获取Redis服务器运行状态相关统计信息,section相关参数包含如下:

1、server:显示Redis服务器信息,包含redis_version、os、arch_bits、gcc_versi on、process_id、tcp_port、uptime_in_seconds等

2、clients:显示已连接客户端信息,包含有connected_clients、client_longest_o utput_list、client_longest_input_buf、blocked_clients等

3、memory:显示内存统计信息,包含有used_memory、 used_memory_human、used_memory_ rss、used_memory_peak、used_memory_peak_human、used_memory_lua、mem_ fragmentation_ratio、mem_allocator等

4、persistent:显示RDB和AOF相关统计信息

5、stats:显示一般统计信息

6、replication:显示主从复制信息

7、cpu:显示cpu计算量统计信息

8、commandstats:显示redis命令统计信息

9、cluster:显示集群相关统计信息

10、keyspace:显示数据库相关统计信息

11、all:显示所有的Redis统计信息

12、default:显示默认选择的统计信息

示例如:info all;info replication

 

FLUSHALL

清空Redis所有数据库中的所有key

OK

FLUSHDB

清空当前数据库中的所有key

OK

DBSIZE

返回当前数据库的key的数量

 

SLAVEOF host

port

该命令用于在Redis 运行时动态地修改复制(replication)功能的行为。如果一个Redis服务器已经处于SLAVE状态,SLAVEOF NO ONE命 令将关闭当前服务器的被复制状态,与此同时将该服务器切换到MASTER状态。该命令的参数将指定MASTER服务器的监听IP和端口。还有一种情况是, 当前服务器已经是另外一台MASTER的SLAVE了,在执行该命令后,当前服务器将终止和之前MASTER之间的复制关系,而将成为新MASTER的 SLAVE,之前MASTER中的数据也将被清空,改为新MASTER中的数据。然而如果在当前SLAVE服务器上执行的是SLAVEOF NO ONE命令,那么该服务器只是中断与当前MASTER的复制关系,并升级为独立的MASTER,其中的数据也不会被清空

示例:SLAVEOF 10.23.16.226 6579 ;SLAVEOF NO ONE

OK

CONFIG GET parameter

该 命令用于获取Redis服务器的运行配置参数。在2.4版本中,该命令有部分参数无法获取,但是在2.6版本以后所有参数都可以获取。该命令接受glob 风格的模式匹配规则,因此如果参数中包含模式元字符,那么所有匹配的参数都将以key/value方式被列出。如果参数是*,那么该命令支持的所有参数都 将被列出。最后需要指出的是,和redis.conf中不同的是,在命令中不能使用数量缩写格式,如GB、KB等,只能使用表示字节数量的整数值。

示例:CONFIG GET s* -- 服务器就会返回所有以 s 开头的配置参数及参数的值

 

CONFIG SET

parameter value

该命令可以动态地调整 Redis 服务器的配置而无须重启。有些Redis版本可能存在有些参数不能修改,如果需要获悉该命令支持哪些参数,可以查看CONFIG GET * 命令的执行结果。如果想在一个命令中设置多个同类型参数,如redis.conf配置文件中的save参数:save 900 1/save 300 10。在该命令中我们可以将多个key/value用双引号括起,并用空格符隔开,如:config set save "900 1 300 10"。

正常返回OK

否则报错

CONFIG

RESETSTAT

重置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 计数器的值)

OK

SAVE

执 行一次同步保存操作,将当前Redis实例的所有数据快照以RDB文件形式保存到硬盘。注意:一般情况下不要执行SAVE命令,因为它会阻塞所有客户端, 保存数据库的任务通常由BGSAVE命令异步执行。但是当保存数据的后台进程不幸出现问题时,SAVE可以作为保存数据的最后手段来使用。

OK

LASTSAVE

返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示

一个UNIX时间戳

SHUTDOWN

[SAVE|NOSAVE]

SHUTDOWN命令执行以下操作

  • 停止所有客户端

  • 如果有至少一个保存点在等待,执行 SAVE 命令

  • 如果 AOF 选项被打开,更新 AOF 文件

  • 关闭 redis 服务器(server)

修饰词SAVE、NOSAVE:

  • SHUTDOWN SAVE强制让数据库执行保存操作,即使没有设定保存点

  • SHUTDOWN NOSAVE阻止数据库执行保存操作,即使已经设定一个或多个保存点

失败返回错误信息;

正常无任何信息反馈

TIME

返回当前服务器时间,示例:

redis > time

1) "1332395997" #当前时间(以 UNIX 时间戳格式表示)

2) "952581" #当前这一秒钟已经逝去的微秒数

 

MONITOR

实时打印出Redis服务器接收到的命令,调试用

OK

SLOWLOG

Slow log是Redis用来记录查询执行时间的日志系统(执行时间是指不包括像客户端响应(talking)、发送回复等IO操作,而单单是执行一个查询命令所耗费的时间);Slow log的行为由两个配置参数指定,可以通过改写redis.conf或者用CONFIG GET和 CONFIG SET命令对它们动态地进行查看修改:

  • slowlog-log-slower-than:它决定要对执行时间大于多少微秒(microsecond,1秒 = 1,000,000 微秒)的查询进行记录

  • slowlog-max-len:它决定 slow log 最多能保存多少条日志, slow log 本身是一个 FIFO 队列,当队列大小超过 slowlog-max-len 时,最旧的一条日志将被删除,而最新的一条日志加入到 slow log ,以此类推

以下为SLOWLOG的一些命令示例:

  • CONFIG SET slowlog-log-slower-than1000 #设置slow时间

  • CONFIG SET slowlog-max-len1000 #设置slow日志条数

  • SLOWLOG GET #获取slow日志详细信息

  • SLOWLOG LEN #获取slow日志数量

  • SLOWLOG RESET #清空slow日志




















本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1656497 ,如需转载请自行联系原作者

 




相关文章
|
6月前
|
存储 缓存 监控
Redis设计与实现——Redis命令参考与高级特性
Redis 是一个高性能的键值存储系统,支持丰富的数据类型(字符串、列表、哈希、集合等)和多种高级功能。本文档涵盖 Redis 的核心命令分类,包括数据类型操作、事务与脚本、持久化、集群管理、系统监控等。特别介绍了事务的原子性特性、Lua 脚本的执行方式及优势、排序机制、发布订阅模型以及慢查询日志和监视器工具的使用方法。适用于开发者快速掌握 Redis 常用命令及其应用场景,优化系统性能与可靠性。
|
2月前
|
存储 缓存 NoSQL
Redis基础命令与数据结构概览
Redis是一个功能强大的键值存储系统,提供了丰富的数据结构以及相应的操作命令来满足现代应用程序对于高速读写和灵活数据处理的需求。通过掌握这些基础命令,开发者能够高效地对Redis进行操作,实现数据存储和管理的高性能方案。
115 12
|
2月前
|
存储 消息中间件 NoSQL
【Redis】常用数据结构之List篇:从常用命令到典型使用场景
本文将系统探讨 Redis List 的核心特性、完整命令体系、底层存储实现以及典型实践场景,为读者构建从理论到应用的完整认知框架,助力开发者在实际业务中高效运用这一数据结构解决问题。
|
3月前
|
存储 缓存 人工智能
Redis六大常见命令详解:从set/get到过期策略的全方位解析
本文将通过结构化学习路径,帮助读者实现从命令语法掌握到工程化实践落地的能力跃迁,系统性提升 Redis 技术栈的应用水平。
|
4月前
|
NoSQL Redis
Lua脚本协助Redis分布式锁实现命令的原子性
利用Lua脚本确保Redis操作的原子性是分布式锁安全性的关键所在,可以大幅减少由于网络分区、客户端故障等导致的锁无法正确释放的情况,从而在分布式系统中保证数据操作的安全性和一致性。在将这些概念应用于生产环境前,建议深入理解Redis事务与Lua脚本的工作原理以及分布式锁的可能问题和解决方案。
203 8
|
6月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
454 17
|
6月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
916 16
|
6月前
|
JSON NoSQL Redis
在Rocky9系统上安装并使用redis-dump和redis-load命令的指南
以上步骤是在Rocky9上使用redis-dump和redis-load命令顺利出行的秘籍。如果在实行的过程中,发现了新的冒险和挑战,那么就像一个勇敢的航海家,本着探索未知的决心,解决问题并前进。
242 14
|
6月前
|
消息中间件 NoSQL Unix
Redis的基本特性以及其基础命令用法
这只是冰山一角,Redis的强大功能和简洁的操作方法值得我们深入了解和掌握,是复杂数据问题解决的有力工具。所以,来一场有趣的Redis冒险吧!
191 6
|
11月前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
1594 160