redis-布隆过滤器 和 hyperLogLog --》 去重操作相关

  • HyperLogLog

    • 应用场景: 比如做单网站今日UV统计的时候,把每个用户都加到hyperloglog里面,最后直接统计hpyerloglog的数量就好了
    • 特点 : 1,不会记录元素的内容 2,单个key提供去重计数统计,但是会有误差
    • 优点 : 12 KB 内存,就可以计算接近 2^64 个不同元素
    • 缺点 : 标准误差是:0.81%
    • 实现原理:数学概率论
  • 布隆过滤器

    • 应用场景
      • 用户内容推荐,避免推荐已经推荐过的数据
      • 数据库查询优化:查询请求发出时,可以根据这个请求判定某个row存在不,如果布隆过滤器说不存在,则肯定不存在。如果说存在才去查询磁盘
    • 特点:当布隆过滤器说某个值存在时,这个值可能不存在;当它说不存在时,那就肯定不存
      在。
    • 实现原理:https://www.cnblogs.com/allensun/archive/2011/02/16/1956532.html
    • 基本指令:
      • bf.add
      • bf.exists
    • 参数设置:bf.reserve
      • error_tate 错误率
      • initial_size 预计放入的元素值
      • 举例: bf.reserver “test_key” 0.001 50000
    • ps:redis 4.0 之后开始提供

你可能感兴趣的:(redis)