有没有办法列出redis的所有键及其数据类型?

dphi5xsq  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(285)

假设我在redis中有以下键:
关键字名称:
设置键
哈希键
Z设定键
当我在上输入命令时 redis-cli : keys * 我正确地得到了上面所有钥匙的清单。为了获得特定键的数据类型,我们使用以下命令 type keyname .
有没有办法列出redis中的所有键及其数据结构?例如:
setkey集合
哈希键哈希
zsetkey排序集
有没有一个命令/本地方法来实现这一点?提前谢谢。

fnx2tebb

fnx2tebb1#

首先,你不应该使用 KEYS 命令,可能会长时间阻止redis。相反,您需要使用 SCAN 命令获取数据库中的所有键。
第二,在Redis6.0之前,没有本地的方法可以做到这一点,您必须调用 SCAN 要迭代密钥空间,对于每个密钥,使用 TYPE 命令获取其类型。
幸运的是,有了redis 6.0 SCAN 命令支持 TYPE 子命令,您可以使用此子命令扫描指定类型的所有键:

SCAN 0 TYPE string

SCAN 0 TYPE list

详细检查扫描文件。它还描述了原因 KEYS 很糟糕。

相关问题