redis服务相关命令

来源:互联网 发布:男朋友生日礼物 知乎 编辑:程序博客网 时间:2024/05/16 15:47

redis服务相关的命令包括备份、客户端管理、配置 管理、群集相关等。

1、bgrewriteaof命令-异步执行一个AOF(AppendOnly File)文件重写操作。 
redis中bgrewriteaof命令用于异步执行一个AOF(AppendOnly File)文件重写操作。重写会创建一个当前AOF文件的体积优化版本。 
即使bgrewriteaof执行失败,也不会有任何数据丢失,因为旧的AOF文件在bgrewriteaof成功之前不会被修改。 
注意:从redis 2.4开始,AOF重写由redis自行触发,bgrewriteaof仅仅用于手动触发重写操作。 
语法

bgrewriteaof
  • 1

版本:1.0.0 
返回值:反馈信息。 
eg

127.0.0.1:6379> set abc "abc"OK127.0.0.1:6379> bgrewriteaofBackground append only file rewriting started127.0.0.1:6379>
  • 1
  • 2
  • 3
  • 4
  • 5

2、bgsave命令-在后台异步保存当前数据库的数据到磁盘 
redis中bgsave命令用于-在后台异步保存当前数据库的数据到磁盘 
bgsave命令执行之后立即返回ok,然后redis会fork出一个新子进程,原来的redis进程继续处理客户端请求,子进程负责将数据保存到磁盘,然后退出。 
语法

bgsave
  • 1

版本:1.0.0 
返回值:反馈信息 
eg

redis> BGSAVEBackground saving started
  • 1
  • 2

3、client kill命令-关闭客户端连接 
redis中client kill用于关闭客户端连接 
语法

client kill ip:port
  • 1

版本:2.4.0及以上 
返回值:成功关闭时,返回Ok 
eg

# 列出所有已连接客户端redis 127.0.0.1:6379> CLIENT LISTaddr=127.0.0.1:43501 fd=5 age=10 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client# 杀死当前客户端的连接redis 127.0.0.1:6379> CLIENT KILL 127.0.0.1:43501OK# 之前的连接已经被关闭,CLI 客户端又重新建立了连接# 之前的端口是 43501 ,现在是 43504redis 127.0.0.1:6379> CLIENT LISTaddr=127.0.0.1:43504 fd=5 age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

4、client list命令-获取连接到服务器的客户端列表 
redis中client list命令用于返回所有连接到服务器的客户端信息和统计数据。 
语法

client list
  • 1

版本:2.4.0 
返回值:命令返回多行字符串,字符串按照对应格式格式话。 
eg 
例子和各个属性含义在前面介绍命令章节有描述了。由于比较长,这边就不加上了。 
每天学些redis命令(2)

5、client getname命令-获取连接名称 
同样client getname在每天学些redis命令(2)已经描述过。

6、client pause命令-在指定时间内终止运行来着客户端的命令 
redis中client pause命令用于 阻塞客户端命令一段时间(以毫秒计) 
语法

client pause timeout
  • 1

版本:2.9.5.0及以上 
返回值:返回ok,如果timeout参数是非法的返回错误。

7、client setname命令-设置当前连接的名称 
redis中client setname命令用于指定当前连接的名称 
这个名字显示会在client list命令的结果中,用于识别当前正在与服务器进行连接的客户端。 
语法

client setname connection-name
  • 1

版本:2.6.9及以上 
返回值:设置成功是返回ok 
client setname在每天学些redis命令(2)已经描述过。

8、cluster slots命令-获取集群节点的映射数组 
redis中client slots命令用于以数组形式展示当前的群集状态。 
语法

cluster slots
  • 1

版本:3.0.0 
返回值:ip/端口嵌套的列表数组。 
eg

redis 127.0.0.1:6379> cluster slots1) 1) (integer) 0   2) (integer) 4095   3) 1) "127.0.0.1"      2) (integer) 7000   4) 1) "127.0.0.1"      2) (integer) 70042) 1) (integer) 12288   2) (integer) 16383   3) 1) "127.0.0.1"      2) (integer) 7003   4) 1) "127.0.0.1"      2) (integer) 7007     3) 1) (integer) 4096   2) (integer) 8191   3) 1) "127.0.0.1"      2) (integer) 7001   4) 1) "127.0.0.1"      2) (integer) 70054) 1) (integer) 8192   2) (integer) 12287   3) 1) "127.0.0.1"      2) (integer) 7002   4) 1) "127.0.0.1"      2) (integer) 7006
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

9、command命令-获取redis命令详情数组 
redis中command命令用于返回所有的redis命令的信息信息,以数组形式展示。 
语法

command
  • 1

版本:2.8.13及以上 
返回值:嵌套的redis命令的详细信息列表。列表顺序是随机的。 
返回的列表有点多,这里就不加上了。

10、command count-获取redis命令总数 
redis中command count命令用于统计redis命令的个数 
语法

command count
  • 1

版本:2.8.13 
返回值:redis命令数。 
eg

127.0.0.1:6379> command count(integer) 172127.0.0.1:6379>
  • 1
  • 2
  • 3

11、command getkeys-获取给定命令的所有键 
redis中command getkeys命令用于获取所有key 
语法

command getkeys
  • 1

版本:2.8.13 
返回值:key的列表 
eg

redis 127.0.0.1:6379> COMMAND GETKEYS MSET a b c d e f 1) "a"2) "c"3) "e"
  • 1
  • 2
  • 3
  • 4

12、time命令-返回当前服务器时间 
redis中time命令用于返回当前服务器时间。 

宁波整形医院http://www.lyxcl.org/
宁波整形美容医院http://www.lyxcl.org/
语法

time
  • 1

版本:2.6.0 
返回值: 
包含两个字符串的列表: 
第一个字符串是当前时间(以unix时间戳格式表示) 
第二个字符串是当前这一秒钟已经过去的微妙 
eg:

127.0.0.1:6379> time1) "1511160490"2) "442753"
  • 1
  • 2
  • 3

13、command info命令-获取指定redis命令描述的数值。 
command info用于获取redis命令的描述信息。 
语法

command info commandname [commandname ...]
  • 1

版本:2.8.13 
返回值:命令描述信息的嵌套列表 
eg

127.0.0.1:6379> command info get1) 1) "get"   2) (integer) 2   3) 1) readonly      2) fast   4) (integer) 1   5) (integer) 1   6) (integer) 1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

14、config get命令-获取指定配置参数的值 
redis中config get命令用于获取redis服务的配置参数。 
在redis 2.4版本中,有部分参数没办法用config get访问,但在redis2.6及以上,所有配置参数都可以用config get访问了。 
语法

config get parameter
  • 1

版本:2.0.0及以上 
返回值:给定配置参数的值 
eg

127.0.0.1:6379> config get port1) "port"2) "6379"127.0.0.1:6379>
  • 1
  • 2
  • 3
  • 4

15、config rewrite命令-对启动redis服务器时所指定的redis.conf配置文件进行改写 
redis中config rewrite命令对启动redis服务器时所指定的redis.conf配置文件进行改写。 
config set命令可以对服务器当前配置进行修改,而修改后的配置可能和redis.conf文件中所描述的配置不一致。config rewrite的作用就是通过尽可能少的修改,将服务器当前所用的配置记录到redis.conf文件中。 
语法

config rewrite parameter
  • 1

版本:2.8.0及以上 
返回值:一个状态值,如果配置重写成功则返回ok,失败则返回一个错误。

127.0.0.1:6379> CONFIG GET appendonly           # appendonly 处于关闭状态1) "appendonly"2) "no"127.0.0.1:6379> CONFIG SET appendonly yes       # 打开 appendonlyOK127.0.0.1:6379> CONFIG GET appendonly1) "appendonly"2) "yes"127.0.0.1:6379> CONFIG REWRITE                  # 将 appendonly 的修改写入到 redis.conf 中OK
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

16、config set命令-修改redis配置参数,无须重启 
redis中config set命令可以动态地调整redis服务器的配置(configuration)而无须重启。 
可以使用它修改配置参数,或改变redis的持久化(persistence)方式。 
语法

config set parameter value
  • 1

版本:2.0.0 
返回值:当设置成功是返回Ok,否则返回一个错误。

redis 127.0.0.1:6379> CONFIG GET slowlog-max-len1) "slowlog-max-len"2) "1024"redis 127.0.0.1:6379> CONFIG SET slowlog-max-len 10086OKredis 127.0.0.1:6379> CONFIG GET slowlog-max-len1) "slowlog-max-len"2) "10086"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

17、config resetstat命令-重置info命令中的某些统计数据。 
redis中resetstat命令用于重置info命令中的某些统计数据。包含: 
keyspace hits (键空间命中次数) 
keyspace misses (键空间不命中次数) 
number of commands processed (执行命令的次数) 
number of connections received (连接服务器的次数) 
number of rejected connections (被拒绝的连接数量) 
lastest fork(2) time (最后执行fork(2)的时间) 
the aof_delayed_fsync counter (aof_delayed_fsync计数器的值) 
语法

config resetstat
  • 1

版本:2.0.0 
返回值:总是返回ok

18、dbsize命令-返回当前数据库的key的数量 
redis中dbsize命令用于返回当前数据库的key的数量 
语法

dbsize
  • 1

版本:1.0.0 
返回值:当前数据库的key的数量。 
eg

127.0.0.1:6379> dbsize(integer) 23127.0.0.1:6379>
  • 1
  • 2
  • 3

19、debug object命令-获取key的调试信息 
reids中debug object命令是一个调试命令。可以获取可以的调试信息。 
语法

debug object key
  • 1

版本:1.0.0及以上 
返回值:如果key存在,返回有关信息。当key不存在时,返回值一个错误。

127.0.0.1:6379> debug object mynumberValue at:00007FCE3BC6AFE0 refcount:1 encoding:int serializedlength:3 lru:1210925 lru_seconds_idle:1956127.0.0.1:6379>
  • 1
  • 2
  • 3

20、debug segfault命令-让redis服务器崩溃 
redis中debug segfault命令执行一个非法的内存访问从而让redis崩溃,只有个在调试的时候使用。 
语法

debug segfault
  • 1

版本:1.0.0 
返回值:无 
eg

redis 127.0.0.1:6379> DEBUG SEGFAULT Could not connect to Redis at 127.0.0.1:6379: Connection refusednot connected>
  • 1
  • 2
  • 3

21、flushall命令-删除所有数据库的所有key 
redis中flushall命令用于清空整个redis服务器的数据(删除所有数据库的所有key)

慎用

语法:

flushall
  • 1

版本:1.0.0及以上 
返回值:allways ok 
这里,,就不举例子了

22、flushdb命令-删除当前数据库的所有key 
redis中flushdb命令用于清空当前数据库中的所有Key。 
这个命令也慎用,只有在清空环境的时候用 
语法

flushdb
  • 1

版本:1.0.0及以上 
返回值:总是ok 
不举例子

23、info命令-获取redis服务的各种信息和统计数。 
各个字段描述,后续单独一篇来描述吧。 
语法

info [section]
  • 1

版本:1.0.0 
返回值:字符串,文本行的集合。

24、lastsave命令-返回最近一次redis成功将数据保存到磁盘上的时间,以unix时间戳格式表示 
redis中lastsave命令返回最近一次redis成功将数据保存到磁盘上的时间,以unix时间戳格式表示。 
语法

lastsvae
  • 1

版本:1.0.0及以上 
返回值:最近一次redis成功将数据保存到磁盘上的时间,以unix时间戳格式表示。 
eg

127.0.0.1:6379> lastsave(integer) 1511157125127.0.0.1:6379>
  • 1
  • 2
  • 3

25、monitor命令-实时打印出redis服务接收到的命令,调试用。 
redis张丽红monitor命令用于实时打印出redis服务器接收到的命令,调试用。 
语法

monitor
  • 1

版本:1.0.0及以上 
返回值:总是返回ok 
eg

redis 127.0.0.1:6379> MONITOR OK1410855382.370791 [0 127.0.0.1:60581] "info"1410855404.062722 [0 127.0.0.1:60581] "get" "a"
  • 1
  • 2
  • 3
  • 4

26、role命令-返回主从实例所属的角色 
redis中role命令查看主从实例所属的角色,角色有master,salve,sentinel。 
语法

role
  • 1

版本:2.8.12 
返回值:返回一个数组,第一个参数是master、salve、sentinel三个中的一个。 
eg

127.0.0.1:6379> role1) "master"2) (integer) 03) (empty list or set)127.0.0.1:6379>
  • 1
  • 2
  • 3
  • 4
  • 5

27、save命令-异步保存数据到硬盘 
redis中save命令执行一个同步保存操作,将当前redis实例的所有数据快照以rdb文件的形式保存到硬盘。 
语法

save
  • 1

版本:1.0.0 
返回值:保存成功是返回OK

28、shutdown命令-异步保存数据到硬盘,并关闭redis服务器。 
redis中国shutdown命令命令执行一下操作: 
1、停止所有的客户端 
2、执行save命令 
3、如果AOF选项被打开,更新AOF文件 
4、关闭redis服务器 
语法

shutdown [nosave] [save]
  • 1

版本:1.0.0 
返回值:执行失败时返回错误。执行成功时不返回任何信息,服务器和客户端的连接断开客户端自动退出。 
eg

redis 127.0.0.1:6379> PINGPONGredis 127.0.0.1:6379> SHUTDOWN$$ redisCould not connect to Redis at: Connection refusednot connected>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

30、slaveof命令-将当前服务器转变为指定服务器的从属服务器(slave server) 
redis中slaveof命令可以将当前服务器转变为指定服务器的从属服务器(slave server) 
如果当前服务器已经是某主服务器(master server)的 从属服务器,那么指定slaveof host port将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转二开始对新主服务器进行同步。 
另外,对一个从服务器执行slave no one将使得这个从属服务器关闭复制功能,并从从属服务器转变为主服务器,要同步所得的数据集不会被丢弃。 
利用slaveof no one不会丢弃同步所得数据集这个特性,可以在主服务器down的时候,将从属服务器用做主服务器,实现无间断运行。 
语法

slaveof host port
  • 1

版本:1.0.0及以上 
返回值:总是返回ok 
eg

redis 127.0.0.1:6379> SLAVEOF 127.0.0.1 6379OKredis 127.0.0.1:6379> SLAVEOF NO ONEOK
  • 1
  • 2
  • 3
  • 4
  • 5

在redis可靠性提升(主从复制)中也有相应的例子。

29、slowlog命令-管理redis的慢日志 
redis中slowlog是redis用来记录查询执行时间的日志系统。 
查询执行时间指的是不包括客户端响应(talking)、发送恢复等IO操作,而单单是执行命令耗费的时间。 
另外,slowlog保存在内存里边,读写速度非常快。 
语法

slowlog subcommand [argument]
  • 1

其中subcommand包括get、len、reset 
版本:2.2.12 
返回值:取决于不同命令,返回不同的值。 
eg

127.0.0.1:6379> slowlog len(integer) 1127.0.0.1:6379> slowlog get 21) 1) (integer) 0   2) (integer) 1511157139   3) (integer) 31718   4) 1) "bgrewriteaof"127.0.0.1:6379>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

30、sync命令-用于复制功能(replication)的内不命令 
redis中sync命令用于手动同步主从服务 
语法

sync
  • 1

版本:1.0.0 
返回值:具体环境返回值不同。

原创粉丝点击