Redis学习笔记05Redis命令之(4)配置和统计

1.1. 配置

1.1.1. config get

获取指定的配置信息,这些配置在redis.conf文件中指定,或者通过config set指定。config get 支持模糊匹配方式查询。

redis.coe2coe.me:6379> config get log*

1) "logfile"

2) "./logs/redis.log"

3) "loglevel"

4) "debug"

1.1.2. config set

在Redis服务运行过程中,修改Redis的配置参数,不要重新启动Redis。

redis.coe2coe.me:6379> config set loglevel verbose

OK

修改成功。

redis.coe2coe.me:6379> config set loglevel trace

(error) ERR Invalid argument ‘trace‘ for CONFIG SET ‘loglevel‘

设置为参数不支持的取值时,出错。

1.1.3. config rewrite

将Redis服务当前正使用的参数写到redis.conf文件中。

redis.coe2coe.me:6379> config rewrite

OK

1.2. 统计

1.2.1. dbsize

查看当前数据库中有多少个key。

redis.coe2coe.me:6379[1]> select 0

OK

redis.coe2coe.me:6379> dbsize

(integer) 3

返回值3表明0号数据库中有3个key。

redis.coe2coe.me:6379> select 1

OK

redis.coe2coe.me:6379> dbsize

(integer) 1

返回值1表明1号数据库中有1个key。

1.2.2. info

查看Redis服务的各种信息,包括服务器版本信息、客户端连接信息、内存信息、持久化信息、统计信息、CPU信息、复制(Replication)信息、集群(Cluster)信息,键空间(key space,逻辑数据库)信息等。

redis.coe2coe.me:6379> info

# Server

redis_version:3.2.9

redis_git_sha1:00000000

redis_git_dirty:0

redis_build_id:e73d7407754e1991

redis_mode:standalone

os:Linux 3.19.0-80-generic x86_64

arch_bits:64

multiplexing_api:epoll

gcc_version:4.8.4

process_id:10847

run_id:e381de4281ddf43d7ca5106346676a25ada71d78

tcp_port:6379

uptime_in_seconds:192

uptime_in_days:0

hz:10

lru_clock:6676454

executable:/opt/redis/./redis-server

config_file:/opt/redis/./redis.conf

# Clients

connected_clients:1

client_longest_output_list:0

client_biggest_input_buf:0

blocked_clients:0

# Memory

used_memory:295480

used_memory_human:288.55K

used_memory_rss:9244672

used_memory_rss_human:8.82M

used_memory_peak:295480

used_memory_peak_human:288.55K

total_system_memory:1024159744

total_system_memory_human:976.71M

used_memory_lua:37888

used_memory_lua_human:37.00K

maxmemory:16777216

maxmemory_human:16.00M

maxmemory_policy:noeviction

mem_fragmentation_ratio:31.29

mem_allocator:jemalloc-4.0.3

# Persistence

loading:0

rdb_changes_since_last_save:0

rdb_bgsave_in_progress:0

rdb_last_save_time:1499848547

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

# Stats

total_connections_received:1

total_commands_processed:16

instantaneous_ops_per_sec:0

total_net_input_bytes:343

total_net_output_bytes:97

instantaneous_input_kbps:0.00

instantaneous_output_kbps:0.00

rejected_connections:0

sync_full:0

sync_partial_ok:0

sync_partial_err:0

expired_keys:0

evicted_keys:0

keyspace_hits:0

keyspace_misses:0

pubsub_channels:0

pubsub_patterns:0

latest_fork_usec:1139

migrate_cached_sockets:0

# Replication

role:master

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

# CPU

used_cpu_sys:0.14

used_cpu_user:0.07

used_cpu_sys_children:0.01

used_cpu_user_children:0.00

# Cluster

cluster_enabled:0

# Keyspace

db0:keys=3,expires=0,avg_ttl=0

db1:keys=1,expires=0,avg_ttl=0

1.2.3. slowlog get

返回最慢的N个命令。

有2个参数定义了slowlog get的返回结果:

redis.coe2coe.me:6379> config get *slow*

1) "slowlog-log-slower-than"

2) "10000"

3) "slowlog-max-len"

4) "128"

其中,slowlog-log-slower-than决定了执行时间超过多少微秒才算“慢”。

正数:微秒数;负数:不记录慢记录,所有命令都不慢;0:所有都记录,所有命令都慢。

slowlog-max-len决定了最多返回多少条最慢的记录。

通常情况下,命令执行时间不会达到10000微秒,所以slowlog get返回一个nill。为了测试方便,先将slowlog-log-slower-than修改为一个很小的值:10微秒。

redis.coe2coe.me:6379> config set slowlog-log-slower-than 10

OK

然后执行几条命令。

查询所有的慢记录,结果为3条记录。

redis.coe2coe.me:6379> slowlog get

1) 1) (integer) 2

2) (integer) 1499849805

3) (integer) 12

4) 1) "slowlog"

2) "get"

3) "1"

2) 1) (integer) 1

2) (integer) 1499849793

3) (integer) 14

4) 1) "slowlog"

2) "get"

3) 1) (integer) 0

2) (integer) 1499849767

3) (integer) 62

4) 1) "set"

2) "port"

3) "6379"

可以看到最慢的记录是以下几个命令:

slowlog get 1

slowlog get

set port 6379

查询最慢的2条记录,结果为2条记录。

redis.coe2coe.me:6379> slowlog get 2

1) 1) (integer) 3

2) (integer) 1499849811

3) (integer) 22

4) 1) "slowlog"

2) "get"

2) 1) (integer) 2

2) (integer) 1499849805

3) (integer) 12

4) 1) "slowlog"

2) "get"

3) "1"

可以看到最慢的2条记录为:

slowlog get

slowlog get 1

慢记录的解析:

1) 1) (integer) 2                慢记录的唯一序号。

2) (integer) 1499849805      慢记录的时间戳。

3) (integer) 12              慢记录的执行时间,微秒。

4) 1) "slowlog"              慢记录的命令行。

2) "get"

3) "1"

1.2.4. slowlog len

查询慢记录的条数。

redis.coe2coe.me:6379> slowlog len

(integer) 5

返回值5表明当前有5条慢记录。

1.2.5. slowlog reset

清空所有慢记录。

redis.coe2coe.me:6379> slowlog len

(integer) 5

redis.coe2coe.me:6379> slowlog reset

OK

redis.coe2coe.me:6379> slowlog len

(integer) 0

注意:在slowlog-log-slower-than很小时产生的慢记录,在将此值改大后,并不会立即清除掉,仅仅不再产生新的慢记录。只有执行slowlog reset后才会清除掉已经产生的慢记录。

时间: 2024-08-05 23:49:02

Redis学习笔记05Redis命令之(4)配置和统计的相关文章

Redis学习笔记04Redis命令之(3)服务器操作

1.1.1. client list 列出所有客户端连接信息. 每个连接使用一个id=xxx的行表示. redis.coe2coe.me:6379> client list id=8 addr=192.168.197.101:42247 fd=6 name= age=169 idle=169 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=command id=9 addr

Redis学习笔记06Redis命令之(5)事务

1.1.1. multi 开始一个新事务. redis.coe2coe.me:6379> multi OK 执行此命令后,后面执行的set等命令将被缓存,直到被discard命令取消,或者被exec命令提交执行. 一旦执行了multi,再执行的命令,将被缓存到一个执行队列中,而不是立即执行.因此这些命令的执行的结果,再其它客户端连接中是看不到的. 比如: 在连接1中: redis.coe2coe.me:6379> select 0 OK redis.coe2coe.me:6379> ke

Redis学习笔记07Redis命令之(6) 发布订阅

1.1.1. subscribe 订阅一个或多个频道.当所订阅的频道上发布了消息时,本客户端连接将收到这个消息. redis.coe2coe.me:6379> subscribe abc Reading messages... (press Ctrl-C to quit) 1) "subscribe" 2) "abc" 3) (integer) 1 成功订阅了一个频道. 也可以一次订阅多个频道: redis.coe2coe.me:6379> subscr

Redis学习笔记~常用命令总结

回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在redis进程中,不会被持久化过,进程挂了,信息丢失 SUBSCRIBE Lind --订阅一个管道 PUBLISH Lind "你好,大叔!" --发布一个管道 键操作,redis数据都是由key/value组件,对key操作是所有操作的基础 DEL lind --删除键 Exist lin

Redis学习笔记4-Redis配置具体解释

在Redis中直接启动redis-server服务时, 採用的是默认的配置文件.採用redis-server   xxx.conf 这种方式能够依照指定的配置文件来执行Redis服务. 依照本Redis学习笔记中Redis的依照方式依照后,Redis的配置文件是/etc/redis/6379.conf.以下是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的.假设须要在后台运行,把该项的值更改为 yes daemonize ye

Redis学习笔记4-Redis配置详解

原文:  http://blog.csdn.net/mashangyou/article/details/24555191 在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redis学习笔记中Redis的按照方式按照后,Redis的配置文件是/etc/redis/6379.conf.下面是Redis2.8.9的配置文件各项的中文解释. 1 #daemon

(转)redis 学习笔记(1)-编译、启动、停止

redis 学习笔记(1)-编译.启动.停止 一.下载.编译 redis是以源码方式发行的,先下载源码,然后在linux下编译 1.1 http://www.redis.io/download 先到这里下载Stable稳定版,目前最新版本是2.8.17 1.2 上传到linux,然后运行以下命令解压 tar xzf redis-2.8.17.tar.gz 1.3 编译 cd redis-2.8.17make 注:make命令需要linux上安装gcc,若机器上未安装gcc,redhat环境下,如

Redis学习笔记(简单了解与运行)

Redis学习笔记(简单了解与运行) 开源的非关系型数据库 是REmote Dictionary Server(远程字典服务器)的缩写,以字典结构存储数据 允许其他应用通过TCP协议读写字典中的内容. Redis支持存储的键值数据类型 字符串类型 散列类型 列表类型 集合类型 有序集合类型 Redis的特性 通过一个列子看出Mysql和Redis的存储区别 例如: (存储一篇文章,文章包括:标题(title),正文(content),阅读量(views),标签(tags)) 需求: 把数据存储在

Redis学习笔记

Redis学习笔记:Redis是什么?redis是开源BSD许可高级的key-vlue存储系统可以用来存储字符串哈希结构链表.结构.集合,因此常用来提供数据结构服务. redis和memcache相比的独特之处:1.redis可以用来做存储,而memcache是用来做缓存 这个特点主要因为其有"持久化"的功能.2.存储的数据有"结构",对于memcache来说,存储的数据只有1种类型"字符串"而 redis则可以存储字符串.链表.哈希机构.集合.