gpt4 book ai didi

redis - redis.conf 中的 maxmemory 参数

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

我正在尝试在 redis 中插入键-“值”。“值”是 X 字节,同时将我的应用程序插入到 redis 中。我想知道在从 ./redis-cli 触发“INFO”命令后要监视哪个参数以检查 X(或者 X + somevalue ,以防 Redis 填充一些数据)字节数已在 redis 中使用。正在执行此操作确定我的应用程序所需的 maxmemory(redis.conf) 参数。

我有一个 master 和一个 sentinel,我正在使用 redis 进行临时存储。我已经尝试监控 used_memory 参数。但是根据我得到的数据,maxmemory 似乎与 used_memory 无关。

所以我正在考虑使用给出序列化长度的“调试对象 Mykey”。这个长度到底是多少,我在 redis 文档中找不到任何描述。

所以基本上有两个问题:

  1. maxmemory 和 used_memory 是否相关,如果是,那么使用 used_memory 计算插入的键值占用的空间是否有一些问题。

  2. 什么是“debug object Mykey”命令中的serializedlength

最佳答案

  1. maxmemory 配置指令规定了 Redis 应允许用于用户数据的最大内存量。当设置为 0(默认值)时,只要底层操作系统允许,Redis 就会分配内存。 INFO 命令中的 used_memory 值是调用该命令时用户数据实际消耗的内存。两者的关系(只要maxmemory不为0)就是used_memory <= maxmemory

  2. DEBUG OBJECT 输出的serializedlength 是序列化时存储在该键下的值的长度(以字节为单位)。要获得实际的序列化值,您可以使用 DUMP命令。请注意,由于 Redis 对数据结构的编码和开销等多种因素,序列化长度不会提供 key 使用的实际内存量的准确度量。

通常,为了估计您的 maxmemory 设置,请尝试存储代表您数据的几百个(例如 1000 个)键,检查 used_memory之后,将该值除以结果乘以具有安全余量(例如至少 %10)的预期键数。

关于redis - redis.conf 中的 maxmemory 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29369314/

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