gpt4 book ai didi

redis - 如何获取 Redis 哈希长度?

转载 作者:IT王子 更新时间:2023-10-29 05:56:30 28 4
gpt4 key购买 nike

我在 Redis 上使用哈希存储对象,我想从 Redis 的角度计算这些哈希的长度。

您可以使用 STRLEN 轻松地为字符串执行此操作。

但是我在documentation中根本找不到适合散列数据类型的命令。 .对于列表或集合来说似乎是一样的。

基本上,我找到的唯一解决方案是使用 HGETALL 获取整个哈希并计算客户端大小的长度。

是完全开箱即用的东西吗?

如果我错了,请不要犹豫向我解释原因或给我相关链接/帖子/SO 问题。

编辑:

HLEN不是解决方案,因为它“返回散列中包含的字段数”。我想为 Redis 数据库的容量规划和主动监控计算这个大小。

最佳答案

只需使用 HLEN .

redis> HSET myhash field1 "Hello"
(integer) 1
redis> HSET myhash field2 "World"
(integer) 1
redis> HLEN myhash
(integer) 2

编辑: 问题被澄清为 OP 想要磁盘上的散列大小以进行主动监控。在那种情况下,我肯定会使用 Lua 脚本来计算服务器上散列的大小并将值返回给您。 不要如果您需要大散列,则不要使用 HGETALL,因为您需要将整个散列从您的服务器传输到您的客户端计算机,这很快就会成为您的瓶颈。仅使用 Lua 在 Redis 服务器上执行此计算意味着您只需传输网络字节数的 int,而不是整个哈希的 mb 数据。

关于redis - 如何获取 Redis 哈希长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691715/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com