
1 redtea 2021-03-23 13:00:42 +08:00 MySQL 增加一张表,销售月度表,MySQL 里增加定时任务查询当月销量写入该表,需要查询时只要查询该表就可以了。 |
2 airyland 2021-03-23 13:02:08 +08:00 redis 或者数据库保存都可以,具体看数据量。保存商品 id 日期 数据。 用定时任务,或者可以用最简单的请求触发逻辑:如果当月请求不到上月数据缓存,说明还未缓存,执行查询并保存缓存。 |
3 fuis 2021-03-23 13:36:13 +08:00 随便写个定时任务存 redis 里呗 |
4 xiaoxinshiwo 2021-03-23 13:51:31 +08:00 感觉题主啥也不懂啊 |
5 b00tyhunt3r OP |
6 chniccs 2021-03-23 13:56:47 +08:00 一个月一次,查出来你做 excel 吧。简单不。 |
7 lithiumii 2021-03-23 14:25:10 +08:00 假如没有退货之类的问题需要处理 每个月一号查询上个月的销量,查完存起来不用动了,一辈子都不用改 你今天新增的销量要到下个月一号才会被查询和更新 |
8 b00tyhunt3r OP @lithiumii 是这个意思 但就是“查完存起来” 不知道如何实现 |
9 lithiumii 2021-03-23 14:36:19 +08:00 用 Redis 我觉得没必要 就请你们的 MySQL 数据库的 DBA 新建一张表,叫每月销量(当然具体表名建议符合规范来,比如 monthly_sales ) 然后一列是月份,一列是销量数字,其他的列比如自增 id 、创建日期之类的等等建议按你们的规范来。然后你每月跑一次查询写进去就行了。 当然你一定要用 Redis 也行,就是 Redis 里面把过去每个月的数据存下来。自己查 Redis 怎么运行,怎么存储 |
10 limuyan44 2021-03-23 15:07:20 +08:00 新建个表就好了,redis 一点都不适合你这个场景,用了 redis 你数据还是要落地的,还是得建表,干嘛不直接建表,一个月一次的统计表能有多大的性能消耗。 |
11 v2NPC 2021-03-23 15:14:00 +08:00 mysql 新建表+1 |
12 b00tyhunt3r OP |
13 dayeye2006199 2021-03-23 15:46:34 +08:00 你这个就是个数据 ETL,把这个查询过程,做一个每个月的定时任务,得到的结果写入一张新表;报表查询,直接查这张新表就行了。 |
14 ch2 2021-03-23 18:00:31 +08:00 @b00tyhunt3r #5 redis 不会主动访问别人,它只会返回你给它的东西 |
15 gBurnX 2021-03-23 22:05:22 +08:00 1.一张表拿来做流式计算的统计,一张表拿来存历史数据。 2.流式计算的表,意思是,把一个数据结构,转化为只有一条数据的一张表。表里的某个字段用于记录当前商品的销量。当爬虫更新商品页面时,把最新的销量,更新到该数据的相关字段里。 3.历史数据表,用于爬虫更新商品页面时,把获取到的销量数据,insert 进去。 4.流式计算表拿来实时输出需要的统计数据,无论什么时候取都行,不一定非要等每月月末;历史数据表拿来做离线分析数据统计。 |
16 symons 2021-03-24 11:46:04 +08:00 可以考虑 Hive 表存储+BI 的方式来做 |
17 julyclyde 2021-03-24 12:42:28 +08:00 redis 不会“去发现”db 更新了 |
18 zhangysh1995 2021-03-24 17:05:08 +08:00 问题是怎么做:简单方法, 触发器+dump 问题是太慢,存不下:性能优化,加硬盘,减少存的信息 |