zoukankan      html  css  js  c++  java
  • Redis命令-HyperLogLog

    HyperLogLog数据结构简单介绍

        能够看http://www.cnblogs.com/ysuzhaixuefei/p/4052110.html  博客,介绍的相对照较清晰。

        HyperLogLog数据结构,能够接收多个參数输入。然后估算出元素的基数。

        • 基数:集合中不同元素的数量。比方 {'apple', 'banana', 'cherry', 'banana', 'apple'} 的基数就是 3 。
        • 估算值:算法给出的基数并非精确的,可能会比实际略微多一些或者略微少一些,但会控制在合
    理的范围之内。
        HyperLogLog 的长处是,即使输入元素的数量或者体积很很大。计算基数所需的空间总是固定
    的、而且是非常小的。


        在 Redis 里面,每一个 HyperLogLog 键仅仅须要花费 12 KB 内存。就能够计算接近 2^64 个不同元素的基
    数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对照。


    可是。由于 HyperLogLog 仅仅会依据输入元素来计算基数,而不会储存输入元素本身。所以
    HyperLogLog 不能像集合那样,返回输入的各个元素。

        PFADD key [element ...]:将随意数量的元素加入到指定的HyperLogLog中去。相对会更新HyperLogLog内部,更改集合的基数。

    假设相应的HyperLogLog的基数发生变化则返回1。否则返回0。

        返回值:基数被改动返回1。否则返回0

    1. 127.0.0.1:6379> PFADD databases Redis Mongodb MySQL
    2. (integer) 1
    3. 127.0.0.1:6379> PFCOUNT databases
    4. (integer) 3
    5. 127.0.0.1:6379> PFADD databases Redis
    6. (integer) 0
    7. 127.0.0.1:6379> PFADD databases RedisTest
    8. (integer) 1
    9. 127.0.0.1:6379> PFCOUNT databases
    10. (integer) 4

        PFCOUNT key[key ... ]:PFCOUNT作用于单个key的时候,返回该key的基数。

    当PFCOUNT命令作用于多个key时,返回并集的近似数。

        返回值:给定hyperLogLog的基数。

        PFMERGE destkey sourcekey[sorcekey ...]:将多个HyperLogLog合并为一个HyperLogLog。合并后 的HyperLogLog的基数接近于全部输入的可见集合的并集。合并得出的hyperLogLog会被存储到destkey中去。

        返回值:成功返回ok。

    1. 127.0.0.1:6379> PFADD nosql Redis MongoDB Memcache
    2. (integer) 1
    3. 127.0.0.1:6379> PFADD rdbms mysql mssql oracle
    4. (integer) 1

    1. 127.0.0.1:6379> PFMERGE databases nosql rdbms
    2. OK
    3. 127.0.0.1:6379> PFCOUNT databases
    4. (integer) 9
  • 相关阅读:
    jquery.ajax,vue-resource,axios拦截器实现与携带cookie
    vs code 常用插件及说明
    Js/Jquery获取网页屏幕可见区域高度(转)
    vue的爬坑之路(三)之-----基于vue-cli的VueAwesomeSwiper轮播滑块插件的使用及常见问题(转)
    js中的深拷贝与浅拷贝
    沉浸式状态栏 关于状态栏高度的获取
    Cordova 常用命令及插件(转)
    video control
    canvas添加水印
    疑惑
  • 原文地址:https://www.cnblogs.com/blfbuaa/p/6903772.html
Copyright © 2011-2022 走看看