SELECT info Redis


동영상 설명은 아래에 있습니다.

INFO 정보 조회

Info, cluster, client 정보를 select로 조회할 수 있습니다.
Enterprise version 7.2.5부터는 redis.conf에서 use-sql을 yes로 설정해야 사용할 수 있습니다.

INFO

LOG

CLUSTER


SERVER

Server 정보(버전, 포트, OS 등)를 조회합니다.
info server 명령과 거의 같은 정보를 조회합니다.
databases 항목이 추가되었습니다.

Example

명령>select * from info.server;
결과> 0) key|value
1) arch_bits|64
2) atomicvar_api|atomic-builtin
3) config_file|/home/charlie/ent711/9261/redis.conf
4) configured_hz|10
5) databases|16
6) enterprise_version|7.1.1
7) executable|/home/charlie/ent711/src/redis-eserver
8) gcc_version|4.8.5
9) hz|10
10) multiplexing_api|epoll
11) os|Linux 3.10.0-957.5.1.el7.x86_64 x86_64
12) process_id|15548
13) redis_mode|enterprise
14) run_id|25a68eaadfae2ef2679fe36dc1f2ab0d6e26f69a
15) tcp_port|6000

CLIENT

Client 정보(현재 접속하고 있는 클라이언트 수)를 조회합니다.
info client 명령과 같은 정보를 조회합니다.
접속 가능 클라이언트 수(maxclients) 항목이 추가되었습니다.

Example

명령>select * from info.client;
결과> 0) key|value
1) blocked_clients|0
2) client_recent_max_input_buffer|2
3) client_recent_max_output_buffer|0
4) connected_clients|1
5) maxclients|10000

CLIENTS

Client list 정보(클라이언트 ip:port, age, idle, last command 등)를 조회합니다.
Client list 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.clients;
결과> 0) key|address|fd|name|age|idle|flags|dbnum|pubsub_cha|pubsub_pat|multi|
    querybuf_used|querybuf_avail|bufpos|reply|output_mem|events|last_command
1) 4|127.0.0.1:48090|10||434|0|N|0|0|0|-1|50|32718|0|0|0|r|select

MEMORY

레디스 서버가 사용하고 있는 메모리 정보(used_memory, rss 등)를 조회합니다.
info memory 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.memory;
결과> 0) key|value
1) active_defrag_running|0
2) allocator_active|385724416
3) allocator_allocated|383973304
4) allocator_frag_bytes|1751112
5) allocator_frag_ratio|1.0
6) allocator_resident|399560704
7) allocator_rss_bytes|13836288
8) allocator_rss_ratio|1.04
9) lazyfree_pending_objects|0
  중간 생략 ...
40) used_memory_startup|1232592

PERSISTENCE

AOF(AOF 활성화 여부, 현재 AOF 파일 크기 등)와 RDB 정보를 조회합니다. 단축어: persist
info persistence 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.persistence;
결과> 0) key|value
1) aof_base_size|118845413
2) aof_buffer_length|0
3) aof_current_rewrite_time_sec|-1
4) aof_current_size|118845480
5) aof_delayed_fsync|0
6) aof_enabled|1
7) aof_last_bgrewrite_status|ok
8) aof_last_cow_size|0
9) aof_last_rewrite_time_sec|-1
10) aof_last_write_status|ok
11) aof_pending_bio_fsync|0
12) aof_pending_rewrite|0
13) aof_rewrite_buffer_length|0
14) aof_rewrite_in_progress|0
15) aof_rewrite_scheduled|0
16) loading|0
17) rdb_bgsave_in_progress|0
18) rdb_changes_since_last_save|177
19) rdb_current_bgsave_time_sec|-1
20) rdb_last_bgsave_status|ok
21) rdb_last_bgsave_time_sec|-1
22) rdb_last_cow_size|0
23) rdb_last_save_time|1609908461

AOF

AOF 정보만 조회합니다.
추가로 appendonly, appendfsync, appendfilename, aof_use_rdb_preamble 항목을 조회할 수 있습니다.

Example

명령>select * from info.aof;
결과> 0) key|value
1) aof_base_size|2304
2) aof_buffer_length|0
3) aof_current_rewrite_time_sec|-1
4) aof_current_size|2304
5) aof_delayed_fsync|0
6) aof_last_bgrewrite_status|ok
7) aof_last_cow_size|606208
8) aof_last_rewrite_time_sec|1
9) aof_last_write_status|ok
10) aof_pending_bio_fsync|0
11) aof_pending_rewrite|0
12) aof_rewrite_buffer_length|0
13) aof_rewrite_in_progress|0
14) aof_rewrite_scheduled|0
15) aof_use_rdb_preamble|yes
16) appendfilename|./data/appendonly.aof
17) appendfsync|everysec
18) appendonly|yes

RDB

RDB 정보만 조회합니다.
추가로 save, rdb_filename, rdbcompression 항목을 조회할 수 있습니다.

Example

명령>select * from info.rdb;
결과> 0) key|value
1) rdb_bgsave_in_progress|0
2) rdb_changes_since_last_save|0
3) rdb_current_bgsave_time_sec|-1
4) rdb_filename|./data/dump.rdb
5) rdb_last_bgsave_status|ok
6) rdb_last_bgsave_time_sec|-1
7) rdb_last_cow_size|0
8) rdb_last_save_time|1610092800
9) rdbcompression|yes
10) save|90 1,300 10,60 10000

STATS

서버 통계 정보(총 접속수, 총 명령 처리수 등)를 조회합니다.
info stats 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.stats;
결과> 0) key|value
1) active_defrag_hits|0
2) active_defrag_key_hits|0
3) active_defrag_key_misses|0
4) active_defrag_misses|0
5) evicted_keys|0
6) expired_keys|0
7) expired_stale_perc|0.0
8) expired_time_cap_reached_count|0
9) instantaneous_input_kbps|0.0
10) instantaneous_ops_per_sec|0
11) instantaneous_output_kbps|0.0
12) keyspace_hits|32
13) keyspace_misses|0
14) latest_fork_usec|0
15) migrate_cached_sockets|0
16) pubsub_channels|0
17) pubsub_patterns|0
18) rejected_connections|0
19) slave_expires_tracked_keys|0
20) sync_full|0
21) sync_partial_err|0
22) sync_partial_ok|0
23) total_commands_processed|176
24) total_connections_received|2
25) total_net_input_bytes|1156
26) total_net_output_bytes|31850

REPLICATION

마스터/복제 서버에 대한 정보(접속한 복제 서버 수, 백로그 크기 등)를 조회합니다. 단축어: repl
info replication 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.replication;
결과> 0) key|value
1) connected_slaves|0
2) master_link_down_since_seconds|1609915405
3) master_repl_offset|0
4) master_replid|ef3f6fe2f32826efcc92e0e6eccf6e706295f027
5) master_replid2|0
6) repl_backlog_active|0
7) repl_backlog_first_byte_offset|0
8) repl_backlog_histlen|0
9) repl_backlog_size|67108864
10) role|master
11) second_repl_offset|-1
12) slave_priority|100
13) slave_read_only|1

CPU

CPU 사용량 정보를 조회합니다.
info cpu 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.cpu;
결과> 0) key|value
1) used_cpu_sys|6.884693
2) used_cpu_sys_children|0.0
3) used_cpu_user|13.174814
4) used_cpu_user_children|0.0

COMMANDSTATS

레디스 명령 통계 정보(실행 횟수, 소요 시간)를 조회합니다. 단축어: cmds
info commandstats 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from info.commandstats;
결과> 0) key|calls|total|per
1) command|2|5185|2592.5
2) info|2|86|43.0
3) lpush|1|34|34.0
4) select|23|962985|41868.91

KEYSPACE

키 정보(총 키 개수, 데이터타입별 키 개수 등)를 조회합니다. 단축어: keys
info keyspace 명령과 비슷한 정보를 조회합니다.

Example

명령>select * from info.keyspace;
결과> 0) key|total_keys|string|list|set|zset|hash|stream|module|expire_keys|expire_members
1) db0|7500|194|3|6|7018|279|0|0|0|0
2) db1|4591|28|0|0|4507|56|0|0|0|0
3) db2|4530|2|0|0|4513|15|0|0|0|0

STATLOG

레디스 서버의 주요 상태 정보를 조회합니다. 10분 마다 기록됩니다.
메모리 사용량, 키 개수, 명령 실행 수, 클라이언트 수 증감량으로 서버의 상태를 파악할 수 있습니다.

항목 설명
  • key: 일시
  • memory_hmem: 메모리 사용량, M/G로 표시
  • memory: 메모리 사용량, 바이트로 표시
  • rss_hmem: Resident Set Size, OS 기준으로 할당한 메모리 사이즈, M/G로 표시
  • rss: Resident Set Size, OS 기준으로 할당한 메모리 사이즈, 바이트로 표시
  • keys: 총 키 개수
  • clients: 현재 접속한 클라이언트 수
  • commands: 10분 동안 명령 실행 수
  • cpu: 10분 동안 CPU 사용량

Example

명령>select * from info.statlog;
결과> 0) key|memory_hmem|memory|rss_hmem|rss|keys|clients|commands|cpu
1) 2021-01-17 21:20:00|369.50M|387446240|378.51M|396894208|16753|10|38384|14
2) 2021-01-17 21:30:00|369.50M|387446776|378.51M|396894208|16753|10|38595|14

기간을 조건으로 조회할 수 있습니다. 데이터는 3개월 간 보관됩니다.

Example

명령>select * from info.statlog where key like '2021-01-18%';
결과> 0) key|memory_hmem|memory|rss_hmem|rss|keys|clients|commands|cpu
1) 2021-01-18 00:00:00|369.54M|387492648|378.55M|396943360|16753|0|6978|22
2) 2021-01-18 00:10:00|369.54M|387493832|378.55M|396943360|16757|0|7001|22
    ... 중간 생략 ...
143) 2021-01-18 23:40:00|369.97M|387937160|379.06M|397475840|16765|0|32071|96
144) 2021-01-18 23:50:00|369.99M|387960056|379.07M|397488128|16765|0|32171|96

메모리 최저 사용량, 최고 사용량을 조회할 수 있습니다.

Example

명령>select min(memory_hmem),max(memory_hmem) from info.statlog;
결과> 0) min(memory_hmem)|max(memory_hmem)
1) 369.45M|372.24M
명령>select key,max(memory_hmem) from info.statlog;     최고 사용량과 일시를 같이 조회  
결과> 0) key|max(memory_hmem)
1) 2021-01-25 02:40:00|372.57M

Statlog 삭제

Statlog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb statlog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 statlog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.

Example

명령>flushinfodb statlog     statlog를 모두 삭제할 때  
결과> OK
명령>flushinfodb statlog 2021-02-01     2021년 2월 1일까지 statlog를 삭제할 때  
결과> OK
명령>flushinfodb statlog '2021-02-01 10:00:00'     2021년 2월 1일 10시까지 statlog를 삭제할 때  
결과> OK

SLOWLOG

느린 쿼리(명령)을 조회할 수 있습니다. 기준은 slowlog-log-slower-than(microseconds)로 설정합니다.

항목 설명
  • key: 일시, 마지막 숫자 3자리는 구분하기 위한 일련번호입니다.
  • duration_ms: 실행 시간(millisecond)
  • client_ip_port: 클라이언트 IP:Port
  • client_name: 클라이언트 이름, client setname으로 설정했을 경우 표시됩니다.
  • command: 실행한 명령, 30자까지 표시됩니다.

Example

명령>select * from info.slowlog;
결과> 0) key|duration_ms|client_ip_port|client_name|command
1) 2021-01-19 22:04:08 001|5|127.0.0.1:51140|client-1|select select key from zset.*
2) 2021-01-19 23:01:30 001|4|127.0.0.1:51140|client-2|select select left(key,5) from zset.*

느린 명령 순으로 조회할 수 있습니다.

Example

명령>select * from info.slowlog order by duration_ms desc limit 5;
결과> 0) key|duration_ms|client_ip_port|client_name|command
1) 2021-01-19 23:01:50 002|399|127.0.0.1:51140|client-1|select select left(key,7),count(*)
2) 2021-01-19 23:03:18 004|370|127.0.0.1:51140|client-2|select select left(key,7),count(*)
3) 2021-01-19 23:02:27 003|366|127.0.0.1:51140|client-1|select select left(key,7),count(*)
4) 2021-01-22 19:19:06 002|6|127.0.0.1:38232|client-2|select select * from info.statlog;
5) 2021-01-23 15:48:46 002|6|127.0.0.1:43172|client-1|select select * from info.statlog;

특정 클라이언트에서 실행된 명령만 조회할 수 있습니다.

Example

명령>select * from info.slowlog where client_naem = 'client-1';
결과> 0) key|duration_ms|client_ip_port|client_name|command
1) 2021-01-19 23:01:50 002|399|127.0.0.1:51140|client-1|select select left(key,7),count(*)
2) 2021-01-19 23:02:27 003|366|127.0.0.1:51140|client-1|select select left(key,7),count(*)
3) 2021-01-23 15:48:46 002|6|127.0.0.1:43172|client-1|select select * from info.statlog;

Slowlog 삭제

Slowlog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb slowlog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 slowlog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.

Example

명령>flushinfodb slowlog     slowlog를 모두 삭제할 때  
결과> OK
명령>flushinfodb slowlog 2021-02-01     2021년 2월 1일까지 slowlog를 삭제할 때  
결과> OK
명령>flushinfodb slowlog '2021-02-01 10:00:00'     2021년 2월 1일 10시까지 slowlog를 삭제할 때  
결과> OK

LATENCYLOG

느린 연산(event)을 조회할 수 있습니다. 기준은 latency-monitor-threshold(milliseconds)로 설정합니다.
Latency event에 대한 자세한 설명은 여기를 보세요

항목 설명
  • key: 일시
  • event_name: 이벤트 이름
  • duration_ms: 실행 시간(millisecond)

Example

명령>select * from info.latencylog;
결과> 0) key|event_name|duration_ms
1) 2021-01-17 16:30:48 001|command|1
2) 2021-01-17 18:45:03 001|aof-write|1
3) 2021-01-17 18:45:03 003|aof-write-alone|1

특정 일시를 조회할 수 있습니다.

Example

명령>select * from info.latencylog where key like '2021-01-19 23%';
결과> 0) key|event_name|duration_ms
1) 2021-01-19 23:01:30 001|command|4
2) 2021-01-19 23:01:50 002|command|399
3) 2021-01-19 23:02:27 003|command|366

특정 이벤트를 조회할 수 있습니다.

Example

명령>select * from info.latencylog where event_name = 'aof-write';
결과> 0) key|event_name|duration_ms
1) 2021-01-17 18:45:03 001|aof-write|1
2) 2021-01-17 18:46:20 002|aof-write|1
3) 2021-01-17 21:56:47 001|aof-write|1

Latencylog 삭제

Latencylog 데이터는 3개월간 보관됩니다.
삭제하려면 flushinfodb latencylog [date [time]] 명령을 사용합니다.
Date를 사용하지 않으면 현재까지 latencylog를 삭제됩니다.
Data time 형식은 YYYY-MM-DD HH:MM:SS 입니다.

Example

명령>flushinfodb latencylog     latencylog를 모두 삭제할 때  
결과> OK
명령>flushinfodb latencylog 2021-02-01     2021년 2월 1일까지 latencylog를 삭제할 때  
결과> OK
명령>flushinfodb latencylog '2021-02-01 10:00:00'     2021년 2월 1일 10시까지 latencylog를 삭제할 때  
결과> OK

CLUSTER.INFO

클러스터 주요 상태 정보(노드 수, 슬롯 수 등)를 조회합니다.
cluster info 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from cluster.info;
결과> 0) key|value
1) cluster_current_epoch|5
2) cluster_known_nodes|6
3) cluster_size|3
4) cluster_slots_assigned|16384
5) cluster_slots_fail|0
6) cluster_slots_ok|16384
7) cluster_slots_pfail|0
8) cluster_state|ok
9) cluster_stats_messages_received|66
10) cluster_stats_messages_sent|4637

CLUSTER.NODES

클러스터 노드 정보(ip:port, 노드id, 역할, 할당된 슬롯 등)를 조회합니다.
cluster nodes 명령과 거의 같은 정보를 조회합니다.

Example

명령>select * from cluster.nodes;
결과> 0) key|node_id|cluster_bus_port|flags|master_node_id|ping_sent_time|pong_received_time|
    config_epoch|link_state|slots|migrating_or_importing_slots
1) 127.0.0.1:7000|a54a1fab4ce615215f247de22a67f1490aa1ba0b|17000|myself,master|
-|0|1609916838000|1|connected|1-4,6-5460|
2) 127.0.0.1:7001|e46f0afedffd4e9bf5f1acd9a40017ed82472916|17001|master|
-|0|1609916842708|4|connected|0,5,5461-10922|
3) 127.0.0.1:7002|857f3addef8c49040feb9cb0dd56e7b1fc887872|17002|master|
-|0|1609916843000|3|connected|10923-16383|
4) 127.0.0.1:7003|549b0a6bde8d34f6dbbf881d1728225382af40c0|17003|slave|
a54a1fab4ce615215f247de22a67f1490aa1ba0b|0|1609916841649|1|connected||
5) 127.0.0.1:7004|5320a335128235b049a5eb1695a8c80325f8151d|17004|slave|
e46f0afedffd4e9bf5f1acd9a40017ed82472916|0|1609916843764|4|connected||
6) 127.0.0.1:7005|2bdfeddf65efb29495b79e81bf90d81c17ad6af0|17005|slave|
857f3addef8c49040feb9cb0dd56e7b1fc887872|0|1609916840596|5|connected||

동영상 설명

Redis SQL Select Info


<< Select Expire Keys Info Query Insert Intro

Email 답글이 올라오면 이메일로 알려드리겠습니다.