目前有一个需求就是统计一些日报的数据,并且用echarts做图表展示,因为可能涉及到需要根据日计算月或者年的总和这种运算,所以希望找一个可以代替mysql做运算的方式,第一个想到的就是redis,但是查了一些资料,只找到计算数量的方法,没有找到计算key里面具体值之和的方法,所以想问一下redis能做这样的事情吗?如果不能,有什么好的解决方案吗?以前这一类的统计需求都是直接通过mysql计算的,但是这个需求有些大,害怕mysql扛不住。
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
一、redis的主要的一个功能就是做缓存,解决的问题是高并发情况下的,
二、如果问题是在数据量巨大,mysql处理时间长的话其实只能优化mysql了,和redis没有什么关系,
三、如果你是将mysql的数据处理完后将缓存打到redis上,这个其实是可以的,比如将日或者月或者年的数据总和存到redis中然后取数据从redis中取,但是可能会出现的问题是,当缓存策略失效,会让请求打到mysql中,这样其实请求也会变慢,
四、还有一种解决办法就是建立一个统计表,这个表是专门统计数据的,定时去跑脚本更新数据,数据取的是这个统计表,这样的话其实数据请求会变快,原理和redis出不多。
五、redis是key:value形式的数据库,对于value来说,redis还没有什么计算的方法,因为你无法确定value的值类型,一般都是奖value自己取出来然后手动计算。
- 1 回答
- 0 关注
- 639 浏览
添加回答
举报
0/150
提交
取消