摘要:
一、前言 Redis提供了HyperLogLog来解精确度不是很高的统计需求,相比set空间减少了很多,也更方便,但是HyperLogLog只是提供了pfadd添加元素,pfcount统计元素,基于HyperLogLog数据结构的实现,无法判断某个数是否存在与这个key中,故没有pfcontain这 阅读全文
摘要:
get 判断二进制数据的第n位是否为1可以用&运算来判断 先来看下面的运算 | 十进制 | 二进制 | 位左移 | | | | | | 21=2 | 10 | 1<<1 | | 22=4 | 100 | 1<<2 | | 23=8 | 1000 | 1<<3 | | 24=16 | 10000 | 阅读全文
摘要:
StringRedisTemplate操作string类型使用ValueOperations接口,代码描述为针对简单值或者redis术语中的'string'进行操作 我们先来看两个基本的命令 一、SETEX 语法 SETEX key seconds value 语法等同于 SET key value 阅读全文
摘要:
引言 elasticsearch中实现聚合也非常常见,同时es的数据量一般比较大,因此聚合结果比较多,像terms聚合默认只返回10条聚合结果,所以聚合之后进行分页,也是非常常见的操作。 es的terms聚合只能传入需要聚合的field和需要聚合返回的条数size,可能一开始我们只能通过将size设 阅读全文
摘要:
一、bitmap介绍 bitmap,也叫位图,是一种实现对位的操作的'数据结构',用一个bit位来表示一个东西的状态,我们都知道bit位是二进制,所以只有两种状态,0或1。 bitmap同样属于redis的string数据类型,也就是byte数组,Redis中一个字符串类型的值最多能存储512M的内 阅读全文
摘要:
一、简介 ClickHouse是俄罗斯的Yandex于2016年开源的一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management System),简称CK , 使用C++语言来实现的,主要用于在线分析处 阅读全文
摘要:
管道聚合 让上一步聚合的结果作为下一个聚合的输入,类似stream()流的操作,当不上终结操作时,每次操作的流都作为下次操作的输入 管道类型有很多种不同类型,每种类型都与其他聚合计算不同的信息,但是可以将这些类型分为两类 父级 父级聚合的输出提供了一组管道聚合,它可以计算新的存储桶或新的聚合以添加到 阅读全文
摘要:
介绍 桶能让我们划分文档到有意义的集合,但是最终我们需要的是对这些桶内的文档需要一些指标的计算。分桶是一种达到的目的的手段,它提供了一种给文档分组的方法来让我们可以计算感兴趣的指标 大多数指标是指简单的数学运算(例如最小值、最大值、平均值、汇总等),这些都是通过文档的值计算, 指标聚合一般用于桶聚合 阅读全文
摘要:
概览 聚合介绍 ElasticSearch主要提供了三种常用的聚合类型,桶聚合(Bucket Aggregation),指标聚合(Metric Aggregation)和管道聚合(Piple Aggregation) ElasticSearch中桶的概念类似于SQL的分组(GROUP BY),而指标 阅读全文