微信搜索:小大白日志

缓存的设计

  • LRU:把最近最少使用或最近最久未使用的移除出缓存
  • MRU:把最近频繁使用的移除出缓存,如数据库层级的缓存,用户不可能连续查询大量同批次数据,此时就可以把这些大批量数据移除
  • 布隆过滤器
  1. 适用于大数据量的缓存,如亿级别PV防止恶意url(PV:页面访问量page view)
  2. 拥有两级缓存:布隆过滤器->恶意URL字典,对进来访问的url用第一层缓存(布隆过滤器)判断该url是否是恶意url,不是的话放行该次访问,不确定是不是的话再去第二层缓存查(恶意URL字典)
  3. 可应用于其他功能:避免给用户重复的推荐、过滤恶意邮件、HBase减少对重复列的查找
  4. 对比hash表:hash表占空间很大,布隆过滤器占空间小
posted @ 2021-05-30 23:33  明天喝可乐  阅读(90)  评论(0)    收藏  举报