如何限制Redis python中SMEMBERS返回的结果?

我有一个 Redis 数据库,其中包含一组集合,每个集合包含大小约为 200Kb 的对象。每组的基数都是不同的,并且会永远增加。

问题是,当我执行 SMEMBERS 命令时,我一次性获取了 set 的所有成员,这会消耗所有可用内存。因此,在这里我想限制或限制返回的成员数量,以防止进程内存不足。

我正在使用 python 的 redis 包。此外,我在文档中找不到任何有用的信息。

谁能提出实际的解决方案?

这里是我用来从redis获取数据的python代码:

result = redisclient.smembers(key)


慕田峪9158850
浏览 94回答 1
1回答

眼眸繁星

您最好的选择是 SSCAN 该集合,然后将其打破为理想的nCOUNT值,或者在调用本身中指定。重新阅读您关于集合大小的评论后,我会警告不要使用太高的COUNT值,因为它可能会产生一些性能限制。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python