随笔分类 - 数据库 / Redis
<> 小记随笔 —— GEO
摘要:# 应用场景 用于描述 LBS (Location-Based Service) 的数据结构,能够存储对象的经纬度信息,并且可以进行指定经纬度点指定距离范围内的查询、排序等能力。 # 类型介绍 是一种自定义结构,使用 GeoHash 的编码方法,即二分法进行经纬度的编码。 经纬度(116.37,39
<> 小记随笔 —— 有一亿个keys要统计,应该用哪种集合?
摘要:# 聚合统计 ## 应用场景 统计手机 App 每天的新增用户数和第二天的留存用户数 ## 解决方案 由于Set 类型可以实现并集、交集、差集等能力。所以设计一个 Set 存所有的用户 Id, 并且每天新建一个 Set 存当天访问的用户Id,然后通过并集、交集、差集的计算得出结果。 方案关键点:这些
<> 小记随笔 —— String 类型的一些不足之处
摘要:# 缺陷场景 在存储的 value 值较小且数量特别多的场景下,使用 String 类型进行存储会浪费大量的空间在维护元数据上,导致内存利用率下降。 # 原因分析 * Redis 在 vaule 设计上为了支持众多数据类型,会使用 RedisObject 来记录元数据以及指向数据位置的指针,大小为