最新 最热

数据结构:哈希表在 Facebook 和 Pinterest 中的应用

我们知道,哈希表是一个可以根据键来直接访问在内存中存储位置的值的数据结构。虽然哈希表无法对存储在自身的数据进行排序,但是它的插入和删除操作的均摊时间复杂度都属于均摊  O(1) (Amortized O(1))。均摊时间复杂度...

2021-01-22
2

基于 Redis 消息队列实现文件上传的异步存储

本来准备给 Redis 实战入门篇做个收尾了,不过想起来 Laravel 进阶组件部分还剩下文件存储、邮件和通知这几个功能没有介绍,不如索性一并介绍下,因为它们并不是和 Redis 风马牛不相及,我们可以将这些耗时操作通过消息队列...

2021-01-22
11

基于 Redis Geo 实现地理位置服务(LBS)中查找附近 XXX 的功能

在移动互联网如火如荼的今天,各种 LBS(Location Based Service,基于地理位置服务)应用遍地开花,其核心要素是利用定位技术获取当前移动设备(手机)所在的位置,然后通过移动互联网获取与当前位置相关的资源和信息,典型的 LBS 应...

2021-01-22
4

基于 Redis 布隆过滤器实现海量数据去重及其在 PHP 爬虫系统中的应用

在上篇教程中,学院君给大家介绍了 UV 统计功能的实现思路,如果访问量较小,使用 SET 即可,如果访问量很大,可以使用 HyperLogLog 来降低存储空间和优化性能。...

2021-01-22
2

基于 Redis HyperLogLog 实现用户 UV 统计功能

在通过 Redis 实现全站访问计数器中,学院君已经给大家演示了统计用户 PV 的实现思路,今天我们来看看如何实现用户 UV 的统计。

2021-01-22
2

基于 Redis 实现高级限流器及其在队列任务处理中的应用

上篇教程学院君给大家演示了如何通过 Redis 的字符串数据结构实现限流器,其中需要用到两个字符串键值对:一个用于设置单位时间窗口内的请求上限,另一个用于在这个时间窗口内对请求数进行统计,当请求数超出请求上限,则拒绝...

2021-01-22
2

基于 Redis 实现简单限流器及其在路由中间件中的应用

所谓限流器,指的是限制访问指定服务/路由的流量,通俗点说,就是限制单位时间内访问指定服务/路由的次数(频率),从系统架构角度看,通过限流器可以有效避免短时间内的异常高并发请求导致系统负载过高,从而达到保护系统的目的,另外...

2021-01-22
6

我的2020总结

对于大多数人来说,2020年啥也没干,就光见证历史了。前一段时间华盛顿邮报向读者征集如何描述2020年,一个九岁小孩拔得头筹。 过马路前你左右都看了,结果被潜水艇给撞了。 一句简单的调侃却道出了这一年的魔幻。...

2021-01-22
3

Redis源码剖析之SDS(Simple Dynamic String)

SDS(simple dynamic string)是Redis提供的字符串的封装,在redis中也是存在最广泛的数据结构,它也是很多其他数据结构的基础,所以才选择先介绍SDS。 SDS也兼容部分C字符串API(strcmp,strlen),它如何兼容C字符串我觉得也是...

2021-01-22
0

Redis源码剖析开篇

今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还要忙着吃吃喝喝、追剧、刷综艺、睡懒觉…… ...

2021-01-22
2