《redis in action》文件分发

写点笔记

共 981字,需浏览 2分钟

 ·

2021-05-10 02:18

什么是文件分发?我们知道在计算机系统中经常需要将一批数据进行一定的处理,但是这些数据往往不在一台机器上,也就是说是夸机器存在的。如果我们说要将这些分散的数据进行统一存放,并进行统一的处理操作,那么该怎么做?极端一点就假如说我们分散在每个机器上的数据有好几个G,你又怎么做?如果咋将这些数据通过网络一批次发送到一台机器,网络断了,服务宕机了,内存不够了又怎么办。是不是瞬间觉得好复杂呀,有没有什么能搞定这个事?这块我们就要用微分的思想了,这块我们要记得一个原理就是一切事情均可以微分。好比你决定送你喜欢的人一朵花,并请对方吃一顿大餐一样。你微分下来就变成一些关键的步骤,你不仅可以微分你的动作,甚至还可以微分对方的变化,当你微分学到一定程度的时候,还有什么你无法操作的,都so easy的好么。先不扯这些了。
刚才说要用微分的思想去解决数G的数据文件,那么就将数据文件拆散成一条条数据,因为数据都在不同的机器上,那么如果是严格的按照机器和时间去排序,那么就可能需要对数据结构进行决策,可以采用zset。在数据生成之后就需要将数据发送到redis中统一保存,这样数据就不再是分离的。通过将大数据文件拆成单个记录,然后通过redis客户端保存到redis服务器这种微分思想,就非常轻松的避免了网络中断、服务宕机导致原始文件传输的各种问题。
在数据传输完毕之后,我们就可以发起处理请求,让数据处理程序对保存在redis中的数据进行处理。在处理完毕之后将redis中的数据进行删除,并保存最终计算服务所得出的数据值即可。
除此之外,有些数据统计性质的工作其实可以在服务器本地进行处理。而不用将数据统一存储于redis中,我们只需要在各个服务的本地将数据文件的计算结果保存到redis服务器上,要么公用redis变量要么使用一定规则让最后的统计服务从redis中拿取中间计算结果,并最终通过计算得出最终的结论入库即可。
综合上述,我们知道解决大问题的根本办法是微分。成大事的基本法则是积分。所以我们都应该注重细节,且行且珍惜。

周末愉快!

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报