在Redis中有办法打印键的数量吗?

我知道

keys *

但这似乎有点沉重。考虑到Redis是一个键值存储,也许这是唯一的方法。但我还是希望看到一些类似于

count keys *

当前回答

因为Redis 2.6,支持lua,你可以得到这样的通配符键

eval "return #redis.call('keys', 'prefix-*')" 0

参见eval command

其他回答

在Redis 2.6版本中,INFO命令的结果被分段分割。在“keyspace”部分,有“keys”和“expired keys”字段来说明有多少个key。

因为Redis 2.6,支持lua,你可以得到这样的通配符键

eval "return #redis.call('keys', 'prefix-*')" 0

参见eval command

进入redis-cli,使用以下命令

info keyspace

它可能会帮助到某人

显示DB的名称和键数:

redis-cli info keyspace
# Keyspace
db0:keys=12995,expires=0,avg_ttl=0
db12:keys=5524396,expires=5,avg_ttl=45201

显示编号。所选数据库中的键:

redis-cli dbsize
(integer) 12995

显示整个Redis的统计数据:

redis-cli info

DBSIZE返回键的数量,更容易解析。

缺点:如果一个密钥已经过期,它可能仍然有效。

http://redis.io/commands/dbsize