摘要: Redis场景应用之排行榜 本文基于微信步数排行榜介绍如何使用Redis的ZSET实现排行榜,重点是Redis的ZSET的使用,因此只是分析了微信步数排行榜的大致实现思路,实际实现肯定比文中分析的复杂的多。首先,我们来分析下微信步数排行榜的需求: 排行榜是以日期为单位的,历史日期的排行榜是可以查看的 排行榜可能并不会显示所有好 阅读全文
posted @ 2021-12-03 23:05 晨煦风清 阅读(530) 评论(0) 推荐(0) 编辑
摘要: Redis场景应用之UA池 接触到的一些数据搜索项目,涉及到请求模拟,基于反爬需要使用随机的User Agent,于是使用Redis实现了一个十分简易的UA池。 背景 最近的一个需求,有模拟请求的逻辑,要求每次请求的请求头中的User Agent要满足下面几点: 每次获取的User Agent是随机的。 每次获取的User A 阅读全文
posted @ 2021-12-03 22:54 晨煦风清 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Redis序列化协议分析 RESP简介 Redis客户端与Redis服务端基于一个称作RESP的协议进行通信,RESP全称为Redis Serialization Protocol,也就是Redis序列化协议。虽然RESP为Redis设计,但是它也可以应用在其他客户端-服务端(Client-Server)的软件项目中。RES 阅读全文
posted @ 2021-12-03 22:33 晨煦风清 阅读(165) 评论(0) 推荐(0) 编辑
摘要: Redis自动过期机制应用 需求: 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态 解决方案: 可以利用redis天然的key自动过期机制,下单时将订单id写入redis,过期时间30分钟,30分钟后检查订单状态,如果未支付,则进行处理但是key过期了redis有通知吗?答案是肯定的。 开启redis key过期 阅读全文
posted @ 2021-12-03 22:10 晨煦风清 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Redisson分布式锁剖析 Redisson是具备多种内存数据网格特性的基于Java编写的Redis客户端框架(Redis Java Client with features of In-Memory Data Grid),基于Redis的基本数据类型扩展出很多种实现的高级数据结构,具体见其官方的简介图。本文要分析的R(ed) 阅读全文
posted @ 2021-12-03 17:16 晨煦风清 阅读(1584) 评论(0) 推荐(0) 编辑
摘要: MySQL B+树索引解析 索引的本质 在没有索引的情况下,查找数据只能按照从头到尾的顺序逐行查找,每查找一行数据,意味着我们要到到磁盘相应的位置去读取一条数据。如果把查询一条数据分为到磁盘中查询和比对查询条件两步的话,到磁盘中查询的时间会远远大于比对查询条件的时间,这意味着在一次查询中,磁盘io占用了大部分的时间。更进一步地 阅读全文
posted @ 2021-12-03 16:55 晨煦风清 阅读(194) 评论(0) 推荐(0) 编辑