Docker安装Redis
本文介绍Docker安装Redis 6.0.8的单机版与实际应用版配置,涵盖容器卷映射、配置文件设置及集群存储算法。重点解析哈希取余、一致性哈希与哈希槽分区算法,说明Redis集群为何采用16384个槽,及其在数据分布、节点扩容与网络开销间的权衡设计。
SSTable 的分层管理设计
SSTable分层管理通过将文件按层级组织,逐层合并,控制每层容量上限,减少多路归并规模,避免全量重叠,提升查询效率与系统性能,是LevelDB高效读写的核心设计。
大厂如何解决订单幂等问题
大厂通过唯一标识+数据库唯一约束实现订单幂等:创建时预生成订单号,利用主键防重;更新时引入版本号机制,避免ABA问题,结合Redis或DB状态标记,确保接口多次调用结果一致,保障分布式系统数据准确。
Geohash 编码
Geohash编码将经纬度转换为字符串,通过不断二分地球经纬度区间,交叉组合生成区域编码,再转为Base32简化表示。它用于高效存储和查询地理位置,广泛应用于Redis、MySQL等系统,具有相同前缀的编码代表相近区域,便于空间索引与检索。
SpringBoot框架
SpringBoot简化Spring开发,核心功能包括starter起步依赖、自动配置及内嵌服务器支持。通过@SpringBootApplication实现自动化配置,支持多种配置方式,优先级为:命令行参数 > 系统属性 > properties > yml/yaml。可自定义starter实现模块化集成。
13 | 空间检索(上):如何用 Geohash 实现「查找附近的人」功能?
本文介绍了如何高效实现“查找附近的人”功能,针对大规模系统提出基于区域划分与Geohash编码的解决方案。通过将二维空间划分为带编号的区域,并利用一维编码(如Geohash)建立索引,可大幅提升检索效率。支持非精准与精准查询:前者直接查所在区域,后者扩展至邻接8区域以避免遗漏,结合二分查找、跳表或Redis等技术实现快速定位。尤其适用于社交、餐饮、出行等LBS场景。