10 2022 档案
摘要:前言:限流思路在很多业务场景中很常见,当系统的处理能力有限的时候,限制某个用户的某个行为在某段时间内只能发生次,或者遇到同行的恶意请求等等,面对大批的额外请求,服务器应该如何处理这些请求,来达到系统业务的稳定性。 一、固定时间窗口限流 举个栗子,也是场景一,给用户发送短信验证码,完全由用户进行触发,
阅读全文
摘要:一、前言 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设
阅读全文