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

标签 redis

假设我在 redis 中有以下键:

键名:
设置键
散列键
zsetkey

当我在 redis-cli 上输入命令时: keys *我正确地得到了上述所有键的列表。要获取特定键的数据类型,我们使用命令 type keyname .

有没有办法列出 redis 中的所有键及其数据结构?例如:

设置键集
哈希键哈希
zsetkey 排序集

有没有一种命令/ native 方式来实现这一点?提前致谢。

最佳答案

首先,你不应该使用 KEYS命令,这可能会阻塞 Redis 很长时间。相反,您需要使用 SCAN命令获取数据库中的所有键。

其次,在 Redis 6.0 之前,没有原生方法可以做到这一点,你必须调用 SCAN迭代键空间,对于每个键,使用 TYPE命令来获取它的类型。

幸运的是,在 Redis 6.0 中,SCAN命令支持TYPE子命令,您可以使用此子命令扫描指定类型的所有键:

SCAN 0 TYPE string

SCAN 0 TYPE list

查看the doc of SCAN详情。它还描述了为什么 KEYS不好。

关于redis - 有没有办法列出所有 redis 的键及其数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60363471/

相关文章:

Redis集群错误

python - Django channel 页面卡在加载中

ruby-on-rails - 广播消息发送后不会在浏览器控制台显示,actioncable和redis开发环境

debugging - 如何查看set/get/in redis日志

redis - Redis Sets有阻塞pop操作吗?

amazon-web-services - 在 aws 微型实例上安装 redis

Redis 将所有键从一个数据库移动到另一个数据库

c# - Redis 缓存的最小起订量单元测试

c# - Redis过期不起作用

java - 如何为使用 Redisson Live Objects 创建的 POJO 指定生存时间?