【问题标题】:Increase the default memory and hash, set key limit of redis增加默认内存和hash,设置redis的key limit
【发布时间】:2012-10-18 13:39:45
【问题描述】:

我正在编写一个 JAR 文件,该文件从 Oracle 数据库中获取大量数据并存储在 Redis 中。详细信息已正确存储,但我在 jar 中定义的 set key 和 hash key 在 redis db 中受到限制。应该有将近 200 个 Hash 和 300 个集合键。但是,在 redis 中提供密钥 * 时,我只得到 29 个密钥。请帮助如何增加redis内存或哈希的限制或设置密钥存储大小。

注意:我改变了 哈希最大 zipmap 条目 1024 哈希最大 zipmap 值 64 手动在 redis.conf 文件中。但是,它没有反映。哪里需要改?

【问题讨论】:

  • 您是否有机会使用 Cygwin shell 中的 redis-cli?在使用 Perl 或 Ruby 客户端查询 Redis 时,您是否从“keys”命令中得到相同的输出?我以前也遇到过类似的问题,这与 Cygwin 没有处理大量的 STDOUT 有关。

标签: redis


【解决方案1】:

除了内存大小(检查 maxmemory 和 maxmemory-policy 参数)之外,您可以在 Redis 实例中放置的 set 或 hash 键的数量没有限制。

hash-max-zipmap-entries 参数完全不相关:它只控制内存优化。

我建议使用MONITOR 命令来检查哪些查询发送到了 Redis 实例。

【讨论】:

    【解决方案2】:

    hash-max-zipmap-value 使 redis 中的哈希键值对系统保持优化,因为在这些哈希中搜索键遵循摊销的 N,因此更长的键反过来会增加系统的延迟。

    这些设置在 redis.conf 中可用。

    如果输入的键多于指定数量,则哈希键值对将在内部转换为基本键值对结构,因此无法提供哈希提供的内存优势。

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 1970-01-01
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      相关资源
      最近更新 更多