如何获取Redis中哈希字段对的总数

时间:2019-10-10 09:36:55

标签: redis

我在Redis数据库中有n个哈希值。我想知道我的数据库中总共有多少个哈希字段对。

我看到可以通过INFO命令获得db中的键(哈希)数。并通过HLEN获取给定哈希中的字段数。但都不符合我的要求。

2 个答案:

答案 0 :(得分:1)

同样的问题。我编辑了@Praga_t 脚本,所以我们可以统计数据库中的所有哈希字段。

for key in $(redis-cli --scan); do

    if [ $(redis-cli type $key) = "hash" ]; then
        length=$(redis-cli HLEN $key)

        let "count = count + length"
        echo key=$key, fields=$length. totalCount=$count
    fi 
done

答案 1 :(得分:0)

我也遇到过这种情况,对此进行了长时间的搜索,但是我没有获得直接的命令来实现这一目标。因此,我使用bash脚本来获取有关其类型的键的数量。

REDIS_KEY_PATTERN="${REDIS_KEY_PATTERN:-*}"
for key in $(redis-cli --scan --pattern "$REDIS_KEY_PATTERN")
do
type=$(redis-cli type $key)
if [ $type = "hash" ]
then
    let "count++"
fi
done
echo $count

我希望这会有所帮助