Redis 管理命令

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
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 ,如需转载请自行联系原作者

 




相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
12天前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
78 30
|
2月前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
767 29
|
4月前
|
NoSQL Java Redis
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
这篇文章介绍了Redis的基本命令,并展示了如何使用Netty框架直接与Redis服务器进行通信,包括设置Netty客户端、编写处理程序以及初始化Channel的完整示例代码。
104 1
redis的基本命令,并用netty操作redis(不使用springboot或者spring框架)就单纯的用netty搞。
|
3月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
145 0
|
4月前
|
缓存 NoSQL 测试技术
Redis如何解决频繁的命令往返造成的性能瓶颈!
Redis如何解决频繁的命令往返造成的性能瓶颈!
|
4月前
|
缓存 NoSQL Redis
Redis命令:列表模糊删除详解
Redis命令:列表模糊删除详解
125 3
|
4月前
|
NoSQL 关系型数据库 MySQL
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
本文全面阐述了Redis事务的特性、原理、具体命令操作,指出Redis事务具有原子性但不保证一致性、持久性和隔离性,并解释了Redis事务的适用场景和WATCH命令的乐观锁机制。
601 0
Redis 事务特性、原理、具体命令操作全方位诠释 —— 零基础可学习
|
4月前
|
NoSQL Redis 数据安全/隐私保护
Redis 命令
10月更文挑战第15天
58 0
|
5月前
|
监控 NoSQL Redis
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
redis-server --service-install redis.windows.conf --loglevel verbose 命令的作用是什么?
230 3
|
5月前
|
存储 缓存 NoSQL
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
Redis 过期删除策略与内存淘汰策略的区别及常用命令解析
95 0