- 博客(6)
- 资源 (1)
- 收藏
- 关注
原创 Redis分布式锁的探索
Redis分布式锁的探索参考资料Redlock业务场景解决分布式锁思路1解决分布式锁思路2使用Redlock算法解决分布式锁参考资料Redlockhttp://zhangtielei.com/posts/blog-redlock-reasoning.htmlhttp://zhangtielei.com/posts/blog-redlock-reasoning-part2.html业务场景...
2019-04-29 10:11:34 144
原创 布隆过滤器--推荐系统去重
布隆过滤器--推荐系统去重使用场景基本思路1基本思路2Redis布隆过滤器实现思路基本指令自定义参数的布隆过滤器布隆过滤器实现原理使用场景我们在使用新闻客户端看新闻时,它会给我们不停地推荐新的内容,它每次推荐时要去重,去掉那些已经看过的内容。基本思路1服务器记录了用户看过的所有历史记录,当推荐系统推荐新闻时会从每个用户的历史记录里进行筛选,过滤掉那些已经存在的记录。但当用户量很大、每个用户...
2019-04-29 09:51:44 3093 2
原创 Redis持久化
Redis持久化业务场景持久化分类全量持久化原理AOF原理使用混合持久化的方式业务场景Redis 的数据全部在内存里,如果突然宕机,数据就会全部丢失,因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失,这种机制就是 Redis 的持久化机制。持久化分类Redis的持久化分为全量持久化(快照)和增量持久化(AOF 日志)。全量持久化将内存中的数据直接快照存在硬盘中,增量持久化通过...
2019-04-29 10:22:58 150
原创 漏洞算法实现漏斗限流
漏洞算法实现漏斗限流漏斗算法思想漏斗算法思想漏斗的容量是有限的,如果将漏嘴堵住,然后一直往里面灌水,它就会变满,直至再也装不进去。如果将漏嘴放开,水就会往下流,流走一部分之后,就又可以继续往里面灌水。如果漏嘴流水的速率大于灌水的速率,那么漏斗永远都装不满。如果漏嘴流水速率小于灌水的速率,那么一旦漏斗满了,灌水就需要暂停并等待漏斗腾空。所以,漏斗的剩余空间就代表着当前行为可以持续进行的数量,漏嘴...
2019-04-29 10:21:05 2634
原创 zset实现简单限流
zset实现简单限流业务场景限流思路业务场景有一个限流系统要求限定用户的某个行为在指定的时间里只能允许发生 N 次限流思路这个限流需求中存在一个滑动时间窗口,而 zset 数据结构的 score 值,恰好可以通过 score 的范围来圈出这个时间窗口。我们只需要保留这个时间范围窗口,窗口之外的数据都忽略掉。这个 zset 的 value 需要保证唯一性,将value设置成毫秒时间戳即可。...
2019-04-29 10:19:09 1135
原创 HyperLogLog--统计用户访问量
HyperLogLog--统计用户访问量使用场景基本思路1使用HyperLogLog解决海量数据统计问题基本指令(用法和set集合的sadd类似)pfmerge合并两个HyperLogLogHyperLogLog实现原理使用场景需要统计网页每天的用户访问量的数据,同一个用户一天之内的多次访问请求只能计数一次,要求每一个网页请求都需要带上用户的 ID,无论是登陆用户还是未登陆用户都需要一个唯一 ...
2019-04-29 10:02:37 7316 1
log4j-1.2.17
2017-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人