1
redtea 2021-03-23 13:00:42 +08:00 1
MySQL 增加一张表,销售月度表,MySQL 里增加定时任务查询当月销量写入该表,需要查询时只要查询该表就可以了。
|
2
airyland 2021-03-23 13:02:08 +08:00 1
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 1
假如没有退货之类的问题需要处理
每个月一号查询上个月的销量,查完存起来不用动了,一辈子都不用改 你今天新增的销量要到下个月一号才会被查询和更新 |
8
b00tyhunt3r OP @lithiumii
是这个意思 但就是“查完存起来” 不知道如何实现 |
9
lithiumii 2021-03-23 14:36:19 +08:00 1
用 Redis 我觉得没必要
就请你们的 MySQL 数据库的 DBA 新建一张表,叫每月销量(当然具体表名建议符合规范来,比如 monthly_sales ) 然后一列是月份,一列是销量数字,其他的列比如自增 id 、创建日期之类的等等建议按你们的规范来。然后你每月跑一次查询写进去就行了。 当然你一定要用 Redis 也行,就是 Redis 里面把过去每个月的数据存下来。自己查 Redis 怎么运行,怎么存储 |
10
limuyan44 2021-03-23 15:07:20 +08:00 1
新建个表就好了,redis 一点都不适合你这个场景,用了 redis 你数据还是要落地的,还是得建表,干嘛不直接建表,一个月一次的统计表能有多大的性能消耗。
|
11
XiaMuCoder 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
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
问题是太慢,存不下:性能优化,加硬盘,减少存的信息 |