面向工资编程,面向面试学习!

Redis 教程

Redis 教程Redis 简介Redis 安装Redis 配置Redis 数据类型Redis 命令Redis 键(key)Redis DEL 命令Redis Dump 命令Redis EXISTS 命令Redis Expire 命令Redis Expireat 命令Redis Keys 命令Redis PEXPIREAT 命令Redis Move 命令Redis PERSIST 命令Redis Pttl 命令Redis TTL 命令Redis RANDOMKEY 命令Redis Rename 命令Redis Renamenx 命令Redis Type 命令Redis 字符串(String)Redis SET 命令Redis Get 命令Redis Getrange 命令Redis Getset 命令Redis Getbit 命令Redis Mget 命令Redis Setbit 命令Redis Setex 命令Redis Setnx 命令Redis Setrange 命令Redis Strlen 命令Redis Mset 命令Redis Msetnx 命令Redis Psetex 命令Redis Incr 命令Redis Incrby 命令Redis Incrbyfloat 命令Redis Decr 命令Redis Decrby 命令Redis Append 命令Redis 哈希(Hash)Redis Hdel 命令Redis Hexists 命令Redis Hget 命令Redis Hgetall 命令Redis Hincrby 命令Redis Hincrbyfloat 命令Redis Hkeys 命令Redis Hlen 命令Redis Hmget 命令Redis Hmset 命令Redis Hset 命令Redis Hsetnx 命令Redis Hvals 命令Redis 列表(List)Redis Blpop 命令Redis Brpop 命令Redis Brpoplpush 命令Redis Lindex 命令Redis Linsert 命令Redis Llen 命令Redis Lpop 命令Redis Lpush 命令Redis Lpushx 命令Redis Lrange 命令Redis Lrem 命令Redis Lset 命令Redis Ltrim 命令Redis Rpop 命令Redis Rpoplpush 命令Redis Rpush 命令Redis Rpushx 命令Redis 集合(Set)Redis Sadd 命令Redis Scard 命令Redis Sdiff 命令Redis Sdiffstore 命令Redis Sinter 命令Redis Sinterstore 命令Redis Sismember 命令Redis Smembers 命令Redis Smove 命令Redis Spop 命令Redis Srandmember 命令Redis Srem 命令Redis Sunion 命令Redis Sunionstore 命令Redis Sscan 命令Redis 有序集合(sorted set)Redis Zadd 命令Redis Zcard 命令Redis Zcount 命令Redis Zincrby 命令Redis Zinterstore 命令Redis Zlexcount 命令Redis Zrange 命令Redis Zrangebylex 命令Redis Zrangebyscore 命令Redis Zrank 命令Redis Zrem 命令Redis Zremrangebylex 命令Redis Zremrangebyrank 命令Redis Zremrangebyscore 命令Redis Zrevrange 命令Redis Zrevrangebyscore 命令Redis Zrevrank 命令Redis Zscore 命令Redis Zunionstore 命令Redis Zscan 命令Redis HyperLogLogRedis Pfadd 命令Redis Pfcount 命令Redis PFMERGE 命令Redis 发布订阅Redis Psubscribe 命令Redis Pubsub 命令Redis Publish 命令Redis Punsubscribe 命令Redis Subscribe 命令Redis Unsubscribe 命令Redis 事务Redis Discard 命令Redis Exec 命令Redis Multi 命令Redis Unwatch 命令Redis Watch 命令Redis 脚本Redis Eval 命令Redis Evalsha 命令Redis Script Exists 命令Redis Script Flush 命令Redis Script kill 命令Redis Script Load 命令Redis 连接Redis Auth 命令Redis Echo 命令Redis Ping 命令Redis Quit 命令Redis Select 命令Redis 服务器Redis Bgrewriteaof 命令Redis Bgsave 命令Redis Client Kill 命令Redis Client List 命令Redis Client Getname 命令Redis Client Pause 命令Redis Client Setname 命令Redis Cluster Slots 命令Redis Command 命令Redis Command Count 命令Redis Command Getkeys 命令Redis Command Info 命令Redis Config Get 命令Redis Config rewrite 命令Redis Config Set 命令Redis Config Resetstat 命令Redis Dbsize 命令Redis Debug Object 命令Redis Debug Segfault 命令Redis Flushall 命令Redis Flushdb 命令Redis Info 命令Redis Lastsave 命令Redis Monitor 命令Redis Role 命令Redis Save 命令Redis Shutdown 命令Redis Slaveof 命令Redis Showlog 命令Redis Sync 命令Redis Time 命令Redis 数据备份与恢复Redis 安全Redis 性能测试Redis 客户端连接Redis 管道技术Redis 分区Java 使用 RedisPHP 使用 RedisRedis PEXPIRE 命令

Redis Info 命令

Redis 服务器

Redis Info 命令以一种易于理解和阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。

通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

  • server : 一般 Redis 服务器信息,包含以下域:

    • redis_version : Redis 服务器版本
    • redis_git_sha1 : Git SHA1
    • redis_git_dirty : Git dirty flag
    • os : Redis 服务器的宿主操作系统
    • arch_bits : 架构(32 或 64 位)
    • multiplexing_api : Redis 所使用的事件处理机制
    • gcc_version : 编译 Redis 时所使用的 GCC 版本
    • process_id : 服务器进程的 PID
    • run_id : Redis 服务器的随机标识符(用于 Sentinel 和集群)
    • tcp_port : TCP/IP 监听端口
    • uptime_in_seconds : 自 Redis 服务器启动以来,经过的秒数
    • uptime_in_days : 自 Redis 服务器启动以来,经过的天数
    • lru_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理
  • clients : 已连接客户端信息,包含以下域:

    • connected_clients : 已连接客户端的数量(不包括通过从属服务器连接的客户端)
    • client_longest_output_list : 当前连接的客户端当中,最长的输出列表
    • client_longest_input_buf : 当前连接的客户端当中,最大输入缓存
    • blocked_clients : 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量
  • memory : 内存信息,包含以下域:

    • used_memory : 由 Redis 分配器分配的内存总量,以字节(byte)为单位
    • used_memory_human : 以人类可读的格式返回 Redis 分配的内存总量
    • used_memory_rss : 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。
    • used_memory_peak : Redis 的内存消耗峰值(以字节为单位)
    • used_memory_peak_human : 以人类可读的格式返回 Redis 的内存消耗峰值
    • used_memory_lua : Lua 引擎所使用的内存大小(以字节为单位)
    • mem_fragmentation_ratio : used_memory_rss 和 used_memory 之间的比率
    • mem_allocator : 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc 。

    在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。

    当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。

    内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。

    当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。

    当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。

    如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。

    查看 used_memory_peak 的值可以验证这种情况是否发生。

  • persistence : RDB 和 AOF 的相关信息

  • stats : 一般统计信息

  • replication : 主/从复制信息

  • cpu : CPU 计算量统计信息

  • commandstats : Redis 命令统计信息

  • cluster : Redis 集群信息

  • keyspace : 数据库相关的统计信息

语法

redis Info 命令基本语法如下:

redis 127.0.0.1:6379> INFO [section] 

可用版本

>= 1.0.0

返回值

字符串,文本行的集合。

实例

redis 127.0.0.1:6379> INFO
# Server
redis_version:2.5.9
redis_git_sha1:473f3090
redis_git_dirty:0
os:Linux 3.3.7-1-ARCH i686
arch_bits:32
multiplexing_api:epoll
gcc_version:4.7.0
process_id:8104
run_id:bc9e20c6f0aac67d0d396ab950940ae4d1479ad1
tcp_port:6379
uptime_in_seconds:7
uptime_in_days:0
lru_clock:1680564

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:439304
used_memory_human:429.01K
used_memory_rss:13897728
used_memory_peak:401776
used_memory_peak_human:392.36K
used_memory_lua:20480
mem_fragmentation_ratio:31.64
mem_allocator:jemalloc-3.0.0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1338011402
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:-1
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

# Stats
total_connections_received:1
total_commands_processed:0
instantaneous_ops_per_sec:0
rejected_connections:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0

# Replication
role:master
connected_slaves:0

# CPU
used_cpu_sys:0.03
used_cpu_user:0.01
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Keyspace

Redis 服务器