博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《redis in action》文件分发
阅读量:4211 次
发布时间:2019-05-26

本文共 863 字,大约阅读时间需要 2 分钟。

什么是文件分发?我们知道在计算机系统中经常需要将一批数据进行一定的处理,但是这些数据往往不在一台机器上,也就是说是夸机器存在的。如果我们说要将这些分散的数据进行统一存放,并进行统一的处理操作,那么该怎么做?极端一点就假如说我们分散在每个机器上的数据有好几个G,你又怎么做?如果咋将这些数据通过网络一批次发送到一台机器,网络断了,服务宕机了,内存不够了又怎么办。是不是瞬间觉得好复杂呀,有没有什么能搞定这个事?这块我们就要用微分的思想了,这块我们要记得一个原理就是一切事情均可以微分。好比你决定送你喜欢的人一朵花,并请对方吃一顿大餐一样。你微分下来就变成一些关键的步骤,你不仅可以微分你的动作,甚至还可以微分对方的变化,当你微分学到一定程度的时候,还有什么你无法操作的,都so easy的好么。先不扯这些了。

刚才说要用微分的思想去解决数G的数据文件,那么就将数据文件拆散成一条条数据,因为数据都在不同的机器上,那么如果是严格的按照机器和时间去排序,那么就可能需要对数据结构进行决策,可以采用zset。在数据生成之后就需要将数据发送到redis中统一保存,这样数据就不再是分离的。通过将大数据文件拆成单个记录,然后通过redis客户端保存到redis服务器这种微分思想,就非常轻松的避免了网络中断、服务宕机导致原始文件传输的各种问题。

在数据传输完毕之后,我们就可以发起处理请求,让数据处理程序对保存在redis中的数据进行处理。在处理完毕之后将redis中的数据进行删除,并保存最终计算服务所得出的数据值即可。

除此之外,有些数据统计性质的工作其实可以在服务器本地进行处理。而不用将数据统一存储于redis中,我们只需要在各个服务的本地将数据文件的计算结果保存到redis服务器上,要么公用redis变量要么使用一定规则让最后的统计服务从redis中拿取中间计算结果,并最终通过计算得出最终的结论入库即可。

综合上述,我们知道解决大问题的根本办法是微分。成大事的基本法则是积分。所以我们都应该注重细节,且行且珍惜。

周末愉快!

转载地址:http://nzumi.baihongyu.com/

你可能感兴趣的文章
【IOS游戏开发】之IPA破解原理
查看>>
【一天一道LeetCode】#45. Jump Game II
查看>>
【一天一道LeetCode】#46. Permutations
查看>>
【一天一道LeetCode】#47. Permutations II
查看>>
【一天一道LeetCode】#56. Merge Intervals
查看>>
【一天一道LeetCode】#58. Length of Last Word
查看>>
【一天一道LeetCode】#59. Spiral Matrix II
查看>>
【一天一道LeetCode】#30. Substring with Concatenation of All Words
查看>>
【一天一道LeetCode】#60. Permutation Sequence.
查看>>
【一天一道LeetCode】#113. Path Sum II
查看>>
【一天一道LeetCode】#114. Flatten Binary Tree to Linked List
查看>>
【unix网络编程第三版】阅读笔记(二):套接字编程简介
查看>>
【一天一道LeetCode】#115. Distinct Subsequences
查看>>
【一天一道LeetCode】#116. Populating Next Right Pointers in Each Node
查看>>
【一天一道LeetCode】#117. Populating Next Right Pointers in Each Node II
查看>>
【一天一道LeetCode】#118. Pascal's Triangle
查看>>
同步与异步的区别
查看>>
IT行业--简历模板及就业秘籍
查看>>
JNI简介及实例
查看>>
JAVA实现文件树
查看>>