我需要计算应用的每日唯一身份用户数。
我唯一能够唯一识别用户的方法是通过他们的UUID(这是外部提供的,所以我不得不使用它)。
我知道我的每日用户数量是几百万用户。
我想在Redis中使用bitset来进行人口统计,但为了实现这一点,我需要一种缩小我的UUID的方法,以便它可以轻松地适应长时间。我知道碰撞的可能性,但我不关心确切的数字。
以前有没有人用Java做过这个?我所追求的是如何将我的UUID转换成适合长期的东西。
答案 0 :(得分:3)
UUID
对象有两种方法可能对您有所帮助。
getLeastSignificantBits()
和getMostSignificateBits()
。两者都回归很久。把这些长篇中的一个作为你的答案(如果你在意的话,还是某种组合。)
答案 1 :(得分:2)
这可能小到足以直接使用完整的UUID作为哈希键。如果满足您的需求,也可以使用less memory进行近似。