mset 在 redis 中超过 400,000 个映射条目

mset over 400,000 map entries in redis

我正在使用 java 和 lettuce redis 客户端。我有一个本地 Redis 实例,我正在读取一个文件并将 400,000 个条目放入哈希映射中。但是在 mset 进程结束后,没有 keys/values 添加到 redis 存储中。我意识到问题出在地图条目的大小上。

It's working when the map size is less than 50,000 entries.

有没有办法增加这个大小,或者我应该将这张地图分块发送?

一次发送数千个项目听起来不太健康。编码 800000 个项目需要一个巨大的缓冲区。如果可以的话,将 MSET 分成多个命令(根据一般经验法则,1000 对我来说似乎是一个合理的大小,更好:对其进行基准测试!)或者如果需要原子性,则使用事务。

But after the end of the mset process there were no keys/values added into the redis store.

是否出现任何错误或命令是否成功完成?检查 Redis 和 Lettuce 的调试日志可能会有所帮助。