感觉纯刁难人

andras · 2024-10-31 15:40:10 · 170 次点击

这种场景怎么缓存

一个记录表,非常多,每秒钟都上千条数据插入

注意是记录表,所以产品id会重复的

现在会经常查询过去24h记录的所有产品信息

粗略统计24h不重复的产品有10w条

记录上千万

举报· 170 次点击
登录 注册 站外分享
9 条回复  
meilon 初学 2024-10-31 15:40:10

这不得上 Elasticsearch

fufufu 初学 2024-10-31 15:40:10

TIDB试试

osvald 初学 2024-10-31 15:40:10

需要细化一下使用场景,如果是分页查的话,可以把最近 ID 做个缓存服务,按查询条件从缓存取ID,然后再查数据库

admini 初学 2024-10-31 15:40:10

mongodb ,只要内存够

cube 初学 2024-10-31 15:40:10

这个是出于什么需求?如果是为了做某种统计分析的话,可以将统计指标的结果存到一个表里,新数据进来,流处理,更新统计表。之后业务接口去查统计表的结果就行。

jituidadada 初学 2024-10-31 15:40:10

我的第一反应也是这个。

mxw 小成 2024-10-31 15:40:10

1、你得具体场景,是产品用户游览记录,还是啥记录?有没有大数据的记录

2、查询这个记录结果是统计每个产品,还是就是单纯看记录,一页十条,分页的这种

loser 初学 2024-10-31 15:40:10

记录表插入后,去 Redis 更新缓存:ZSET member 存产品 id,score 存当前时间

查询 24h 浏览的产品直接查这个 zset 得到产品 id

定期根据 score 删除过期浏览记录

Intotw 初学 2024-10-31 15:40:10

建议按天分表,直接从db查,缓存要解决什么问题?见X-Y Problem X-Y Problem | 酷 壳 - CoolShell

非要放缓存,10Wid丢有序集合zset,数据详情按照id拼key作缓存,zset获取到分页的数据范围的idList,idList丢去缓存一次性查询出那一页的详情

返回顶部