Performance Redis-如果集合中有超过x个成员,则删除/弹出
在Redis中,我有数以百万计的集合,其成员数量各不相同 我想缩小整体尺寸,只需要在集合中添加最新的成员Performance Redis-如果集合中有超过x个成员,则删除/弹出,performance,redis,Performance,Redis,在Redis中,我有数以百万计的集合,其成员数量各不相同 我想缩小整体尺寸,只需要在集合中添加最新的成员 是否有操作可以弹出/删除每个键的任何成员,直到总长度为10或更少?似乎您应该使用,集合不支持此类功能。使用SCARD获取集合大小-对于每个集合,您可以执行SRANDMEMBER和SREM直到集合达到所需大小 常规集合不跟踪插入时间,但如果切换到排序集合,则可以保留时间戳作为分数。然后,无论何时添加成员,检查是否已达到最大大小,并根据需要删除额外的成员。用Lua来包装这一点既简单又有效。我建议
是否有操作可以弹出/删除每个键的任何成员,直到总长度为10或更少?似乎您应该使用,集合不支持此类功能。使用
SCARD
获取集合大小-对于每个集合,您可以执行SRANDMEMBER
和SREM
直到集合达到所需大小
常规集合不跟踪插入时间,但如果切换到排序集合,则可以保留时间戳作为分数。然后,无论何时添加成员,检查是否已达到最大大小,并根据需要删除额外的成员。用Lua来包装这一点既简单又有效。我建议使用“排序集”而不是简单的集,然后使用,将分数设置为自纪元以来的秒数或类似的值。然后,您可以执行旧项目的大规模删除