如何在 Azure Redis 缓存控制台中查看匹配模式的键数
How to see key count of matching pattern in Azure Redis Cache Console
我只想查看 Azure Redis 缓存中与给定模式匹配的可用密钥总数。我尝试了以下命令,它在显示所有键后显示计数(这导致服务器负载),但我只需要计数。
>SCAN 0 COUNT 10000000 MATCH "{UID}*"
除了命令 SCAN
,命令 KEYS pattern
可以 return 与当前命令 SCAN 0 COUNT 10000000 MATCH "{UID}*"
.
相同的结果
但是,对于您真正需要获取与模式匹配的键的数量,Redis 官方 GitHub 存储库中有一个问题 add COUNT command
,作者已回答 antirez
给你,如下内容
Hi, KEYS is only intended for debugging since it is O(N) and performs a full keyspace scan. COUNT has the same problem but without the excuse of being useful for debugging... (since you can simply use redis-cli keys ... | grep ...). So feature not accepted. Thanks for your interest.
所以你不能直接得到KEYS pattern
的计数,但是有一些可能的解决方案。
使用您的编程语言从命令 KEYS pattern
中计算键 return 以获取具有模式的少量键,例如在主机服务器上执行 redis-cli KEYS "{UID}*" | wc -l
Redis.
要使用命令EVAL script numkeys key \[key ...\] arg \[arg ...\]
到运行一个Lua脚本来计算带模式的键,有两个脚本你可以试试。
2.1。脚本 1
return #redis.call("keys", "{UID}*")
2.2。脚本 2
return table.getn(redis.call('keys', ARGV[1]))
redis-cli
中完成的命令是EVAL "return table.getn(redis.call('keys', ARGV[1]))" 0 {UID}*
我只想查看 Azure Redis 缓存中与给定模式匹配的可用密钥总数。我尝试了以下命令,它在显示所有键后显示计数(这导致服务器负载),但我只需要计数。
>SCAN 0 COUNT 10000000 MATCH "{UID}*"
除了命令 SCAN
,命令 KEYS pattern
可以 return 与当前命令 SCAN 0 COUNT 10000000 MATCH "{UID}*"
.
但是,对于您真正需要获取与模式匹配的键的数量,Redis 官方 GitHub 存储库中有一个问题 add COUNT command
,作者已回答 antirez
给你,如下内容
Hi, KEYS is only intended for debugging since it is O(N) and performs a full keyspace scan. COUNT has the same problem but without the excuse of being useful for debugging... (since you can simply use redis-cli keys ... | grep ...). So feature not accepted. Thanks for your interest.
所以你不能直接得到KEYS pattern
的计数,但是有一些可能的解决方案。
使用您的编程语言从命令
KEYS pattern
中计算键 return 以获取具有模式的少量键,例如在主机服务器上执行redis-cli KEYS "{UID}*" | wc -l
Redis.要使用命令
EVAL script numkeys key \[key ...\] arg \[arg ...\]
到运行一个Lua脚本来计算带模式的键,有两个脚本你可以试试。2.1。脚本 1
return #redis.call("keys", "{UID}*")
2.2。脚本 2
return table.getn(redis.call('keys', ARGV[1]))
redis-cli
中完成的命令是EVAL "return table.getn(redis.call('keys', ARGV[1]))" 0 {UID}*