# /

# 扫描大键(Scanning for big keys)

在这种特殊模式下, redis-cli 用作密钥空间分析器。它扫描数据集中的大键,但也提供有关数据集所包含的数据类型的信息。此模式使用 --bigkeys 选项启用,并生成详细输出:

$ redis-cli --bigkeys

# Scanning the entire keyspace to find biggest keys as well as
# average sizes per key type.  You can use -i 0.01 to sleep 0.01 sec
# per SCAN command (not usually needed).

[00.00%] Biggest string found so far 'key-419' with 3 bytes
[05.14%] Biggest list   found so far 'mylist' with 100004 items
[35.77%] Biggest string found so far 'counter:__rand_int__' with 6 bytes
[73.91%] Biggest hash   found so far 'myobject' with 3 fields

-------- summary -------

Sampled 506 keys in the keyspace!
Total key length in bytes is 3452 (avg len 6.82)

Biggest string found 'counter:__rand_int__' has 6 bytes
Biggest   list found 'mylist' has 100004 items
Biggest   hash found 'myobject' has 3 fields

504 strings with 1403 bytes (99.60% of keys, avg size 2.78)
1 lists with 100004 items (00.20% of keys, avg size 100004.00)
0 sets with 0 members (00.00% of keys, avg size 0.00)
1 hashs with 3 fields (00.20% of keys, avg size 3.00)
0 zsets with 0 members (00.00% of keys, avg size 0.00)
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

在输出的第一部分中,将报告遇到的每个新密钥都大于前一个较大的密钥(相同类型)。摘要部分提供有关 Redis 实例内数据的一般统计信息。
该程序使用 SCAN 命令,因此可以对繁忙的服务器执行该命令,而不会影响操作,但是可以使用 -i 选项来限制每个 SCAN 命令的指定秒数的扫描过程。
例如, -i 0.01 会大大减慢程序的执行速度,但也会将服务器上的负载减少到可以忽略不计的数量。
请注意,摘要还会以更简洁的形式报告每次找到的最大键。初始输出只是为了在针对非常大的数据集运行时尽快提供一些有趣的信息。