Redis - 如果集合中有超过x个成员,则删除/弹出
问题描述:
在Redis中,我拥有数百万套不同数量的成员。Redis - 如果集合中有超过x个成员,则删除/弹出
我想减小整体大小,真的只需要添加到一组中的最新成员。
是否有操作弹出/删除每个键的任何成员,直到总长度为10或更少?
答
使用SCARD
确实得到一个Set的大小 - 对于每个设置,您可以执行SRANDMEMBER
和SREM
,直到Set达到所需的大小。
Regular Sets不会跟踪插入时间,但如果切换到Sorted Sets,您可以将时间戳保留为分数。然后,无论何时添加成员,请检查是否已达到最大大小,并根据需要删除额外的成员。将它包装在Lua中是微不足道的和有效的。