我正在寻找一个可以存储元素的集合,之后可以得到基数。我注意到我可以使用命令SADD或PFADD,然后使用SCARD或PFCOUNT。两者有什么区别?优点/缺点是什么?
使用SADD时,您将数据存储在SET中。
使用PFADD时,您将数据存储在Hyperloglog中,这是另一种数据结构。
当您必须再次访问这些值时,可以使用SET来存储唯一值。
HyperLogLog允许获取使用PFADD添加的数据中唯一值数量的近似计数。当您有大量不同的值并且不需要找回它们时,它很有用。例如,可以使用它来获取高流量网站上给定页面在给定日期的一天中唯一身份访问者的数量(您只需将唯一身份访问者ID添加到HLL中)。