Redis的系统级命令
127.0.0.1:6379[]> config get dir
1) "dir"
2) "/home/redis/data"
看一下现在的dump.rbd文件
[root@localhost data]# ls -ll
total 4
-rw-r--r-- 1 root root 108 May 2 16:32 dump.rdb
看一下日期,执行bgsave并且查看dump.rbd文件:
127.0.0.1:6379[]> bgsave
Background saving started
\[root@localhost data]# ls -ll
total 4
-rw-r--r-- 1 root root 108 May 9 10:18 dump.rdb
看一下,备份时间已经修改为最新我们执行备份的时间了。
127.0.0.1:6379[]> lastsave
(integer) 1494296312
我们把时间戳转换以后就是1494296312=2017/5/9 10:18:32
3:关于CLIENT的几个系统命令
127.0.0.1:6379[]> client getname
(nil)
127.0.0.1:6379[]> client setname mxqconnect1
OK
127.0.0.1:6379[]> client getname
"mxqconnect1"
127.0.0.1:6379[]> client list
id=2350 addr=172.16.16.34:13200 fd=7 name=sentinel-51fc16eb-cmd age=583234 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=publish
id=2351 addr=172.16.16.34:13201 fd=9 name=sentinel-51fc16eb-pubsub age=583234 idle=0 flags=N db=0 sub=1 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=subscribe
id=2352 addr=172.16.16.35:39670 fd=10 name= age=583233 idle=0 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=replconf
id=2362 addr=127.0.0.1:34498 fd=12 name=mxqconnect1 age=150 idle=0 flags=N db=1 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll=0 omem=0 events=r cmd=client
id=2353 addr=172.16.16.35:39672 fd=6 name=sentinel-d7303108-pubsub age=583232 idle=0 flags=N db=0 sub=1 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=subscribe
id=2354 addr=172.16.16.35:39671 fd=8 name=sentinel-d7303108-cmd age=583232 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=ping
id=2355 addr=172.16.16.35:39687 fd=11 name= age=583223 idle=0 flags=S db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=replconf
127.0.0.1:6379[]>
关闭自身的链接:
127.0.0.1:6379[]> CLIENT KILL 127.0.0.1:34498
OK
127.0.0.1:6379[]>
127.0.0.1:6379[]> GET NAME
(error) NOAUTH Authentication required.
我们知道Redis 使用单线程设计,所以当 Redis 正在执行命令的时候,不会有客户端被断开连接。我们断开本身的链接后,在执行下一次命令,就会出现一个错误,告知我们已经断开了连接。
下面看一下CLIENT LIST的各个域的含义,也是Redis官网给出的解释:
以下是域的含义:
addr : 客户端的地址和端口
fd : 套接字所使用的文件描述符
age : 以秒计算的已连接时长
idle : 以秒计算的空闲时长
flags : 客户端 flag (见下文)
db : 该客户端正在使用的数据库 ID
sub : 已订阅频道的数量
psub : 已订阅模式的数量
multi : 在事务中被执行的命令数量
qbuf : 查询缓存的长度( 0 表示没有查询在等待)
qbuf-free : 查询缓存的剩余空间( 0 表示没有剩余空间)
obl : 输出缓存的长度
oll : 输出列表的长度(当输出缓存没有剩余空间时,回复被入队到这个队列里)
omem : 输出缓存的内存占用量
events : 文件描述符事件(见下文)
cmd : 最近一次执行的命令
客户端 flag 可以由以下部分组成:
O : 客户端是 MONITOR 模式下的附属节点(slave)
S : 客户端是一般模式下(normal)的附属节点
M : 客户端是主节点(master)
x : 客户端正在执行事务
b : 客户端正在等待阻塞事件
i : 客户端正在等待 VM I/O 操作(已废弃)
d : 一个受监视(watched)的键已被修改, EXEC 命令将失败
c : 在将回复完整地写出之后,关闭链接
u : 客户端未被阻塞(unblocked)
A : 尽可能快地关闭连接
N : 未设置任何 flag
文件描述符事件可以是:
r : 客户端套接字(在事件 loop 中)是可读的(readable)
w : 客户端套接字(在事件 loop 中)是可写的(writeable)
4:CONFIG SET|GET|REWRITE
127.0.0.1:6379[]> clinet get name
(error) ERR unknown command 'clinet'
127.0.0.1:6379[]> client getname
(error) NOAUTH Authentication required.
127.0.0.1:6379[]> AUTH maxiangqianreids
(error) ERR invalid password
127.0.0.1:6379[]> AUTH maxiangqianredis
OK
127.0.0.1:6379[]> config get timeout
1) "timeout"
2) "300"
127.0.0.1:6379[]> config set timeout 3000
OK
127.0.0.1:6379[]> config get timeout
1) "timeout"
2) "3000"
我们执行config rewrite,然后查看配置文件
[root@localhost redis]# cat redis.conf
#bind 127.0.0.1 # 绑定的主机地址
port 6379
timeout 3000
timeout已经被修改为3000了。
还有一个CONFIG 命令CONFIG RESETSTAT
5:DBSIZE
127.0.0.1:6379> DBSIZE
(integer) 4
127.0.0.1:6379> INFO KEYSPACE
# Keyspace
db0:keys=4,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
6:DEBUG OBJECT key
DEBUG OBJECT 是一个调试命令,它不应被客户端所使用。
7:FLUSHALL:清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。此命令从不失败。
8:INFO:系统相关信息,下面看一下相关的例子:
127.0.0.1:6379> INFO KEYSPACE
# Keyspace
db0:keys=4,expires=0,avg_ttl=0
db1:keys=1,expires=0,avg_ttl=0
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=172.16.16.35,port=6380,state=online,offset=131088123,lag=0
slave1:ip=172.16.16.35,port=6379,state=online,offset=131088123,lag=1
master_repl_offset:131088123
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:130039548
repl_backlog_histlen:1048576
127.0.0.1:6379> info Persistence
# Persistence
loading:0
rdb_changes_since_last_save:2
rdb_bgsave_in_progress:0
rdb_last_save_time:1494299732
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
我们可以通过INFO 后带域的信息查看相关复制,KEY值和相关的持久化信息。
9:MONITOR相关信息
127.0.0.1:6379> MONITOR
OK
1494300607.699131 [0 172.16.16.34:13200] "PING"
1494300607.783224 [0 172.16.16.34:13200] "PUBLISH" "__sentinel__:hello" "172.16.16.34,26379,51fc16eb8e0bf950a3f3ada8c1eb9d70145c9ffb,2,localhost,172.16.16.34,6379,2"
1494300608.585669 [0 172.16.16.35:39671] "PING"
1494300608.676104 [0 172.16.16.35:39671] "PUBLISH" "__sentinel__:hello" "172.16.16.35,26379,d73031089231fd5f46bdda23d8a448cfe64ec8fd,2,localhost,172.16.16.34,6379,2"
1494300608.724879 [0 172.16.16.34:13200] "PING"
1494300609.640910 [0 172.16.16.35:39671] "PING"
1494300609.746056 [0 172.16.16.34:13200] "PING"
1494300609.836231 [0 172.16.16.34:13200] "PUBLISH" "__sentinel__:hello" "172.16.16.34,26379,51fc16eb8e0bf950a3f3ada8c1eb9d70145c9ffb,2,localhost,172.16.16.34,6379,2"
1494300610.713244 [0 172.16.16.35:39671] "PING"
1494300610.752325 [0 172.16.16.34:13200] "PING"
主要就是监控Redis的实时链接信息,这个功能感觉也是很好用。当大量新链接出问题时候我们可以看到连接的来源地址和主要作用。
10:SLAVEOF host port
11:SHUTDOWN 命令执行以下操作:
Redis的系统级命令的更多相关文章
- Redis 数据结构解析和命令指南
命令參考文档:redis commands - 你或许已经知道Redis并非简单的key-value存储.实际上他是一个数据结构server.支持不同类型的值. 也就是说.你不必只把字符串当作键所指向 ...
- 系统级性能分析工具perf的介绍与使用
测试环境:Ubuntu16.04(在VMWare虚拟机使用perf top存在无法显示问题) Kernel:3.13.0-32 系统级性能优化通常包括两个阶段:性能剖析(performance pro ...
- 系统级IO实践学习记录
代码分析 cp1.c 功能:复制文件. #include <stdio.h>#include <stdlib.h>#include <unistd.h>#inclu ...
- 系统级I/O 第八周11.9~11.15
第十章 系统级I/O cp1 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include ...
- 系统级性能分析工具 — Perf
从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找. perf Performance analysis tools for Linux. Perf ...
- 性能调优之Java系统级性能监控及优化
性能调优之Java系统级性能监控及优化 对于性能调优而言,通常我们需要经过以下三个步骤:1,性能监控:2,性能剖析:3,性能调优 性能调优:通过分析影响Application性能问题根源,进行优化 ...
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- Redis总结(七)Redis运维常用命令
redis 服务器端命令 redis 127.0.0.1:6380> time ,显示服务器时间 , 时间戳(秒), 微秒数 1) "1375270361" 2) &quo ...
- Linux之centos系统常用命令总结
1.查看系统版本 cat /etc/redhat-release 文件与目录操作 命令 解析 cd /home 进入 '/home' 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 ...
随机推荐
- Java解析excel文档并以List<T>输出
/********************************************************工具类start*********************************** ...
- 在bootstrap modal 中加载百度地图的信息窗口失效解决方法
这个问题其实很傻,解决方法没有任何技术含量,只是记录下工作中发生的事. 前阵子给一个汽车集团客户做了一个经销商查询系统,其中一个功能是使用地图标注经销商店面地址,并且实现导航功能. 页面演示地址:ht ...
- jQuery插件的开发(一)
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...
- 大数据技术之_16_Scala学习_13_Scala语言的数据结构和算法_Scala学习之旅收官之作
第十九章 Scala语言的数据结构和算法19.1 数据结构(算法)的介绍19.2 看几个实际编程中遇到的问题19.2.1 一个五子棋程序19.2.2 约瑟夫问题(丢手帕问题)19.2.3 其它常见算法 ...
- Go的接口总结
一.什么是接口 接口类型是一种抽象的类型,它描述了一系列方法的集合. 接口约定:接口类型中定义的方法即为约定,若一个具体类型实现了所有这些方法,则该类型就满足该接口的约定,或者说它是这个接口类型的实例 ...
- Golang教程:常量
定义常量 常量(constant)表示固定的值,比如:5,-89,"I love Go",67.89 等等. 考虑如下程序: var b string = "I love ...
- bzoj 2164: 采矿
Description 浩浩荡荡的cg大军发现了一座矿产资源极其丰富的城市,他们打算在这座城市实施新的采矿战略.这个城市可以看成一棵有n个节点的有根树,我们把每个节点用1到n的整数编号.为了方便起见, ...
- 【JSON.parse()和JSON.stringify()】
var str = '{"name":"huangxiaojian","age":"23"}' 结果: JSON.par ...
- tomcat绑定域名绑定端口及更换ROOT目录
一.更换ROOT目录 tomcat默认网站目录为 webapps/ROOT ,那么我们如何改为自己的网站目录呢? 1.打开并编辑tomcat目录下的 conf/server.xml 大约在148行的位 ...
- Java Object类的toString()方法
Java只要定义一个类,那么它都在继承,没有说明它在继承哪个类的时候,则默认继承java.lang.Object类,也就是说Object类是所有类的父类.看下面一段代码. public class O ...