gpt4 book ai didi

redis - 如何获取redis中特定键的内存占用?

转载 作者:可可西里 更新时间:2023-11-01 11:04:19 25 4
gpt4 key购买 nike

我是 Redis 新手。如何获取redis中特定键的内存占用?

db0

1) "unacked_mutex"
2) "_kombu.binding.celery"
3) "_kombu.binding.celery.pidbox"
4) "_kombu.binding.celeryev"

我只想获取一个特定键(如 "_kombu.binding.celery" )或一个特定数据库(如 db0 )的内存占用量,我该如何获取它?

redis_version: 2.8.17

非常欢迎任何评论。非常感谢。

最佳答案

您正在运行一个非常旧版本的 redis。 MEMORY 命令在该版本中不可用,因此没有获取此信息的精确方法。但是,您可以使用 DUMP 命令来估计此信息。

只需调用 DUMP _kombu.binding.celery 并将结果保存到文件中。结果是一些字符和转义序列。当你将这个文件加载到像节点这样的环境中时,你可以查看字符串的长度并乘以 2 以获得字节数。这并不精确,但它会给你一个大致接近的近似值。

以下是您可以执行的操作:

在 Redis 中:

$ redis-cli
127.0.0.1:6379> hset c 123 456
(integer) 0
127.0.0.1:6379> dump c
"\r\x12\x12\x00\x00\x00\r\x00\x00\x00\x02\x00\x00\xfe{\x03\xc0\xc8\x01\xff\t\x00\x10\xd4L \x908\x8b2"

在节点中:

$ node
> a="\r\x12\x12\x00\x00\x00\r\x00\x00\x00\x02\x00\x00\xfe{\x03\xc0\xc8\x01\xff\t\x00\x10\xd4L \x908\x8b2"
'\r\u0012\u0012\u0000\u0000\u0000\r\u0000\u0000\u0000\u0002\u0000\u0000þ{\u0003ÀÈ\u0001ÿ\t\u0000\u0010ÔL 82'
> a.length
30

这接近 redis 提供的实际数量的一半 MEMORY USAGE:

127.0.0.1:6379> MEMORY USAGE c
(integer) 63

关于redis - 如何获取redis中特定键的内存占用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976405/

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