【发布时间】:2014-04-02 00:31:45
【问题描述】:
我正在处理文章建议。他们有很多。想想 YouTube 视频建议。为了避免再次推荐文章,我想记住特定用户已经看过哪些文章。我有很多用户,我也想避免无限增长的历史数据库。
每篇文章都有MongoDB ObjectId。我使用 Redis 和 Go 语言。
我认为布隆过滤器可以解决这个问题,因为在这种情况下误报是可以的。我想避免误报,但这不是 100% 强制性的。
我不知道在这个领域有任何合理的替代布隆过滤器的方法。我应该吗?
我在 Go 中找不到用于 Redis 的 Bloom Filter 的任何实现。有人可以建议我这是最好的选择吗,我该如何编写自己的或者是否有任何现有的实现?
【问题讨论】:
-
对于布隆过滤器:http://godoc.org/?q=bloom。您可能必须在 Redis 和过滤器之间提供“粘合剂”,除非您找到特定的内容。
-
我相信你会想要使用redis.io/commands/setbit 和redis.io/commands/getbit 来实现你的布隆过滤器。
标签: go redis bloom-filter