前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《redis in action》文件分发

《redis in action》文件分发

作者头像
写一点笔记
发布2022-08-11 16:40:11
2530
发布2022-08-11 16:40:11
举报
文章被收录于专栏:程序员备忘录程序员备忘录

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

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

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

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

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

周末愉快!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 写点笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档