用redis是否适合实现统计功能?

目前有一个需求就是统计一些日报的数据,并且用echarts做图表展示,因为可能涉及到需要根据日计算月或者年的总和这种运算,所以希望找一个可以代替mysql做运算的方式,第一个想到的就是redis,但是查了一些资料,只找到计算数量的方法,没有找到计算key里面具体值之和的方法,所以想问一下redis能做这样的事情吗?如果不能,有什么好的解决方案吗?

以前这一类的统计需求都是直接通过mysql计算的,但是这个需求有些大,害怕mysql扛不住。

阅读 5.6k
2 个回答

一、redis的主要的一个功能就是做缓存,解决的问题是高并发情况下的,
二、如果问题是在数据量巨大,mysql处理时间长的话其实只能优化mysql了,和redis没有什么关系,
三、如果你是将mysql的数据处理完后将缓存打到redis上,这个其实是可以的,比如将日或者月或者年的数据总和存到redis中然后取数据从redis中取,但是可能会出现的问题是,当缓存策略失效,会让请求打到mysql中,这样其实请求也会变慢,
四、还有一种解决办法就是建立一个统计表,这个表是专门统计数据的,定时去跑脚本更新数据,数据取的是这个统计表,这样的话其实数据请求会变快,原理和redis出不多。
五、redis是key:value形式的数据库,对于value来说,redis还没有什么计算的方法,因为你无法确定value的值类型,一般都是奖value自己取出来然后手动计算。

新手上路,请多包涵

influxdb

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题