redis HyperLogLog 可以接受多个元素作为输入,并给出输入元素的基数估算值.

基数:集合中不同元素的数量。比如 [foo', 'bar', 'foobar', 'bar', 'test'}]的基数就是 4.

HyperLogLog 只提供了三个函数:pfadd、pfcount、pfmerge

pfadd:

添加指定元素到 HyperLogLog 中。

pfadd(key, *values)

返回值

整型,如果至少有个元素被添加返回 1, 否则返回 0。

pfcount:

返回指定 HyperLogLog 的基数值。

pfmerge:

将多个 HyperLogLog 合并为一个 HyperLogLog。

实例:

>>> import redis
>>> r = redis.Redis()
>>> r.pfadd('hyperlog1', *['foo', 'bar', 'foo', 'foobar', 'test'])
1
>>> r.pfcount('hyperlog1')
4
>>> r.pfadd('hyperlog2', *['foo', 'bar', 'man', 'xie', 'xiemanrui'])
1
>>> r.pfcount('hyperlog2')
5
>>> r.pfmerge('hyperlog1', 'hyperlog2')
True
>>> r.pfcount('hyperlog1')
7
>>> 

Redis in Python:HyperLogLog(pfadd、pfcount、pfmerge)的更多相关文章

  1. Redis系列10:HyperLogLog实现海量数据基数统计

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  2. Python:struct模块的pack、unpack

    mport struct pack.unpack.pack_into.unpack_from 1 # ref: http://blog.csdn<a href="http://lib. ...

  3. Python:Day25 成员修饰符、特殊成员、反射、单例

    一.成员修饰符 共有成员 私有成员,__字段名,__方法 - 无法直接访问,只能间接访问 class Foo: def __init__(self,name,age): self.name = nam ...

  4. python:类与对象命名空间、面对对象的组合用法

    1,类里可以定义两种属性: #静态属性 #静态属性就是直接在类中定义的变量 #动态属性 #动态属性就是定义在类中的方法 class Course: language = ['Chinese']#静态属 ...

  5. Python:内置函数makestrans()、translate()

    转于:https://blog.csdn.net/u014351782/article/details/46740297 博主:夜-feng 一.makestrans() 格式: str.maketr ...

  6. Python:正则表达式(三)*、+、?的用法

    一.功能*——表示匹配前面的字符0个或多个:+——表示前面的字符1个或多个:?——(1)放在其他字符后面:表示匹配0次或1次: (2)放在*.+后面:表示匹配尽可能少的字符 二.例 字符串fooooo ...

  7. BitMap、Geo、HyperLogLog

    前言 Reids 在 Web 应用的开发中使用非常广泛,几乎所有的后端技术都会有涉及到 Redis 的使用.Redis 种除了常见的字符串 String.字典 Hash.列表 List.集合 Set. ...

  8. Python:删除字符串中的字符

    一.删除字符串两端的一种或多种字符 #strip().lstrip().rstrip()方法:(默认删除空格符) A.list.strip(字符):删除字符串两端的一种或多种字符: #例:删除字符串s ...

  9. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

随机推荐

  1. redis持久化AOF与RDB配置

    AOF保存的数据方案时最完整的,如果同时开启了rdb和aof下,会采用aof方式. (1)设置数据保存到数据文件中的save规则 save 900 1     #900秒时间,至少有一条数据更新,则保 ...

  2. Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(优先初始化Spring IOC容器)

    JavaWebSpringTomcatCache  最近用到在Tomcat服务器启动时自动加载数据到缓存,这就需要创建一个自定义的缓存监听器并实现ServletContextListener接口,并且 ...

  3. windows安装weblogic和域的建立

    Copyright ©2014 Manchester United

  4. Hibernate的二级缓存策略

    Hibernate的二级缓存策略的一般过程如下: 1) 条件查询的时候,总是发出一条select * from table_name where …. (选择所有字段)这样的SQL语句查询数据库,一次 ...

  5. iBATIS 深入分析

    深入分析 iBATIS 框架之系统架构与映射原理 分类: IBATIS2010-11-24 03:32 547人阅读 评论(1) 收藏 举报 ibatis框架sql数据库jdbcjava 本文转至ht ...

  6. element.dispatchEvent is not a function的解决

    Firebug中的出错提示: element.dispatchEvent is not a function element.dispatchEvent(event); prototype.js (第 ...

  7. Scala编程入门---函数式编程之集合操作

    集合的函数式编程: 实战常用: //map案例实战:为List中的每个元素都添加一个前缀. List("leo","Jen","peter" ...

  8. remove the nth node from the end of the list

    problem description: remove the nth node from the end of the list for example: given: 1->2->3 ...

  9. dw cs6 trial

    试用版: https://helpx.adobe.com/x-productkb/policy-pricing/cs6-product-downloads.html English/Japanese: ...

  10. Surface pro 4 使用心得

    今天谈谈这几个月Surface pro 4的使用心得.这篇后面有点跑题,行文也比较随意,就当闲笔了. 设备简述 使用体验 优点 不足 优雅使用 系统界面 应用 系统应用 工具应用 生产工具 其他应用 ...