我有一个 Redis 数据库,其中包含一组集合,每个集合包含大小约为 200Kb 的对象。每组的基数都是不同的,并且会永远增加。问题是,当我执行 SMEMBERS 命令时,我一次性获取了 set 的所有成员,这会消耗所有可用内存。因此,在这里我想限制或限制返回的成员数量,以防止进程内存不足。我正在使用 python 的 redis 包。此外,我在文档中找不到任何有用的信息。谁能提出实际的解决方案?这里是我用来从redis获取数据的python代码:result = redisclient.smembers(key)
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
您最好的选择是 SSCAN 该集合,然后将其打破为理想的nCOUNT
值,或者在调用本身中指定。
重新阅读您关于集合大小的评论后,我会警告不要使用太高的COUNT
值,因为它可能会产生一些性能限制。
添加回答
举报
0/150
提交
取消