Skip to content

Commit

Permalink
Update bloom-filter.md
Browse files Browse the repository at this point in the history
  • Loading branch information
azl397985856 authored Jun 13, 2020
1 parent 5516270 commit b267f6d
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions thinkings/bloom-filter.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
假设你现在要处理这样一个问题,你有一个网站并且拥有`很多`访客,每当有用户访问时,你想知道这个ip是不是第一次访问你的网站。

### hashtable 可以么
一个显而易见的答案是将所有的ip用hashtable存起来,每次访问都去hashtable中取,然后判断即可。但是题目说了网站有`很多`访客,
假如有10亿个用户访问过,假设 IP 是 IPV4, 那么每个 IP 的长度是 4 byte,那么你一共需要4 * 1000000000 = 4000000000Bytes = 4G , 如果是判断URL黑名单,由于每个URL会更长,那么需要的空间可能会远远大于你的期望。
一个显而易见的答案是将所有的 IP 用hashtable存起来,每次访问都去 hashtable 中取,然后判断即可。但是题目说了网站有`很多`访客,
假如有10亿个用户访问过,假设 IP 是 IPV4, 那么每个 IP 的长度是 4 byte,那么你一共需要4 * 1000000000 = 4000000000Bytes = 4G , 如果是判断URL黑名单,由于每个 UR L会更长,那么需要的空间可能会远远大于你的期望。

### bit
另一个稍微难想到的解法是bit, 我们知道bit有0和1两种状态,那么用来表示存在,不存在再合适不过了。
Expand Down

0 comments on commit b267f6d

Please sign in to comment.