Redis 管理命令

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

一、概述


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
相关文章
|
9天前
|
NoSQL Redis 数据库
Redis的全局命令及相关误区
Redis的全局命令及相关误区
21 0
|
18天前
|
NoSQL Redis 数据库
Redis中的常用命令有哪些?
Redis常用命令包括:PING测试连接,ECHO回显,SELECT切换数据库,QUIT关闭连接;KEYS查找key,EXISTS检查存在,DEL删除key,EXPIRE设置过期时间,TTL查看剩余生存时间,TYPE检测数据类型;STRING操作如SET/GET/MSET/MGET,INCR/DECR增减计数;HASH命令如HSET/HGET/HMSET/HMGET/HGETALL管理字段;LIST操作如LPUSH/RPUSH/LPOP/RPOP/LRANGE;
9 0
|
23天前
|
NoSQL Redis
Redis集群(六):集群常用命令及说明
Redis集群(六):集群常用命令及说明
15 0
|
2月前
|
缓存 NoSQL 数据处理
Redis事务悄然而至:命令的背后故事
Redis事务悄然而至:命令的背后故事
26 0
|
3月前
|
存储 NoSQL Redis
redis中Hash命令的基础操作
redis中Hash命令的基础操作
39 1
|
3月前
|
存储 NoSQL 安全
Redis相关命令详解及其原理:Redis基本操作、数据结构以及应用
Redis相关命令详解及其原理:Redis基本操作、数据结构以及应用
90 0
|
3月前
|
存储 NoSQL 网络协议
redis相关命令详解及其原理
redis相关命令详解及其原理
20 0
|
3月前
|
SQL NoSQL Redis
|
1月前
|
缓存 NoSQL Java
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
【Redis】5、Redis 的分布式锁、Lua 脚本保证 Redis 命令的原子性
57 0
|
12天前
|
NoSQL Redis 数据库
通过migrate命令实现两个redis实例之间的数据迁移
通过migrate命令实现两个redis实例之间的数据迁移

热门文章

最新文章