HyperLogLog数据类型
简介 Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。
Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。
在 Redis 里面,每个HyperLogLog键只需要花费12KB内存,就可以计算接近2^64个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。
但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog不能像集合那样,返回输入的各个元素。
什么是基数?
比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5,跟集合一样,具有唯一性。 基数估计就是在误差(标准差小于1%)可接受的范围内,快速计算基数。所以在进行使用时需要权衡。
HLL类型的命令都使用PF开头,是致敬HLL数据结构的发明者Philippe Flajolet;
相关命令
PFADD、PFCOUNT、PFMERGE
操作
1、使用PFADD添加数据
127.0.0.1:6379> PFADD hll_1 zhang
(integer) 1
127.0.0.1:6379> PFADD hll_1 yang
(integer) 1
127.0.0.1:6379> PFADD hll_1 li
(integer) 1
127.0.0.1:6379> PFADD hll_1 zhang #添加相同数据返回0
(integer) 0
2、使用PFCOUNT命令获取数量
127.0.0.1:6379> PFCOUNT hll_1
(integer) 3
3、使用PFMERGE命令合并
#新增一个hll_2
127.0.0.1:6379> PFADD hll_2 zhang
(integer) 1
127.0.0.1:6379> PFADD hll_2 he
(integer) 1
127.0.0.1:6379> PFADD hll_2 liu
(integer) 1
#将hll_1、hll_2合并到hll_3中
127.0.0.1:6379> PFMERGE hll_3 hll_1 hll_2
OK
127.0.0.1:6379> PFCOUNT hll_3
(integer) 5
网页扫描二维码库:Html5-Qrcode,官网地址:https://scanapp.org/html5-qrcode-docs/
Tauri 是一个框架,用于为所有主要桌面平台构建小巧、快速的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架,以构建他们的用户界面。应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 API。
Tauri 应用程序的用户界面目前在 macOS 和 Windows 上利用 tao 作为窗口处理库,在 Linux 上通过 Tauri 团队孵化和维护的 WRY 利用 WebKit、Windows 上的 WebView2 和 Linux 上的 WebKitGTK 创建一个统一的系统 webview(和其他好东西,如菜单和任务栏)接口。
sed是Stream Editor的缩写,简称流编辑器。sed是操作、过滤和转换文本内容的强大工具。常用的功能包括对文件实现快速的增删改查,其中查询的功能最常用是过滤和取行。
you-get是一个基于Python的开源命令行工具,主要用于下载来自多个视频网站的视频、音频和图片资源。它支持YouTube、Bilibili、Vimeo等平台,可通过简单命令快速获取下载链接并支持自定义保存路径和格式。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题