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
对于小于2TB的磁盘可以使用fdisk和parted命令进行分区,一般采用fdisk命令。但是对于大于2TB的磁盘只能使用parted分区,且需要将磁盘转换为GPT格式。
Towxml 是一个让小程序(微信/QQ)可以解析Markdown、HTML的解析库。能够使小程序完美解析Markdown内容。
平衡树(Balance Tree,BT) 指的是,任意节点的子树的高度差都小于等于1。
《精忠报国》是歌手屠洪刚演唱的一首歌曲。由陈涛作词,张宏光作曲。收录在屠洪刚1999年发行的同名专辑《精忠报国》里。歌曲内容反应了南宋抗金名将岳飞的戎马一生,歌颂岳飞精忠报国的强烈爱国主义精神。该曲也是何中华、俞飞鸿等主演古龙武侠剧《三少爷的剑》的片尾曲。
某些时候如果想快速将服务器中的某些资源共享给其他人,可以使用python来实现,python自带了一个快速创建HTTP服务的方式,可以将允许时目录下的所有文件以文件服务器供他人进行访问和下载。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用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问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。