0

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

注意:我在 redis.conf 文件中手动更改了 hash-max-zipmap-entries 1024 hash-max-zipmap-value 64。但是,它没有反映。哪里需要改?

4

2 回答 2

2

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

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

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

于 2012-10-29T10:41:17.107 回答
0

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

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

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

于 2012-10-29T20:48:31.993 回答