php大文件去重,详细解说PHP多个进程配合redis的有序集合实现大文件去重
1.对一个大文件比如我的文件为
-rw-r--r-- 1 ubuntu ubuntu 9.1G Mar 1 17:53 2018-12-awk-uniq.txt
2.使用split命令切割成10个小文件
split -b 1000m 2018-12-awk-uniq.txt -b 按照字节切割 , 支持单位m和k
3.使用10个php进程读取文件 , 插入redis的有序集合结构中 , 重复的是插不进去的 ,因此可以起到去重的作用
$file=$argv[1];
//守护进程
umask(0); //把文件掩码清0
if (pcntl_fork() != 0){ //是父进程,父进程退出
exit();
}
posix_setsid();//设置新会话组长,脱离终端
if (pcntl_fork() != 0){ //是第一子进程,结束第一子进程
exit();
}
$start=memory_get_usage();
$redis=new Redis();
$redis->connect('127.0.0.1', 6379);
$handle = fopen("./{$file}", 'rb');
while (feof($handle)===false) {
$line=fgets($handle);
$email=str_replace("\n","",$line);
$redis->zAdd('emails', 1, $email);
}
4. redis中查看获取的数据
zcard emails 获取元素个数
取一定范围的元素 , 比如从100000开始 到 100100结束
zrange emails 100000 100100 WITHSCORES
上面讲到的是小编给大伙介绍的PHP多个进程配合redis的有序集合实现大文件去重详解整合,希望对各位网友能有帮助,有任何疑问或建议请关注我们公众号(shtmlnet)给我们留言,。。在这十分感谢大家对学猫在线(shtml.net)网站的支持!
本文来源:https://www.cnblogs.com/taoshihan/p/10461500.html
php大文件去重,详细解说PHP多个进程配合redis的有序集合实现大文件去重相关推荐
- php redis 集合返回多条,详解PHP多个进程配合redis的有序集合实现大文件去重
1.对一个大文件比如我的文件为 -rw-r--r-- 1 ubuntu ubuntu 9.1G Mar 1 17:53 2018-12-awk-uniq.txt 2.使用split命令切割成10个小文 ...
- python数据库去重_python redis连接 有序集合去重的代码
python redis连接 有序集合去重的代码如下所述: # -*- coding: utf-8 -*- import redis from constant import redis_ip, re ...
- emui华为java2p_大文件包来了!两款华为手机依然在更新,EMUI两大功能很实用
原标题:大文件包来了!两款华为手机依然在更新,EMUI两大功能很实用 当硬件遇到瓶颈的时候,很多厂商开始回调,作为手机重要的一环系统体验尤为关键.2020年都在拼旗舰配置.强悍拍照.5G覆盖,但普通用 ...
- 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作
文章目录 前言 一.实验目的 二.实验平台 三.实验内容和要求 3.1.HDFS 目录操作 3.1.1.创建用户目录 3.1.2.显示 HDFS 中与当前用户对应的目录内容 3.1.3.列出 HDFS ...
- HTML加js实现计算文件哈希值,HTML5 File API 配合 Web Worker 计算大文件 SHA3 Hash 值
这学期的安全学课程有个作业,内容是写一个软件实现 SHA3 Hash 值的快速计算.想一想老师这么安排,大致上也有一种推广新的密码学算法的意图.既然希望应用起来,天然跨平台的 Web 显然是一项非常具 ...
- C++ minizip的简单使用,zip文件的创建、读取、修改、密码压缩、4G以上大文件压缩。
兄弟姐妹们好,深夜党又来记录枯燥的编程生活了.今天给大家带来的是minizip库,一个解压和压缩文件的开源代码库,如题目所示的结构来介绍.你可以在下面的链接搜索到minizip库: http://ww ...
- Python基础day06【匿名函数lambda、列表生成式、集合set、文件读写】
视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] 目录 1.复习 2.递归函数[理解] 2.1.递归求阶乘 3.匿名函数 3.1.匿名函数的4种 ...
- python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...
[问题] 有一个比较长的python脚本文件,其中关于log日志输出,用的是logging,对应初始化代码为:logging.basicConfig( level = logging.DEBUG, f ...
- Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(一)...
[题外话] 这是2010年参加比赛时候做的研究,当时为了实现对Word.Excel.PowerPoint文件文字内容的抽取研究了很久,由于Java有POI库,可以轻松的抽取各种Office文档,而.N ...
- linux 文件怎么不让删,请问如何设置权限,可以禁止用户删除文件
原帖由 WHITLACK 于 2009-9-28 08:48 发表 针对某个文件,如何设置权限,可以禁止删除? 文件权限的r-w-x好像不能禁止删除的啊, 谢谢指教! 1:使用粘滞位可以做到,下面是介 ...
最新文章
- QT的QDrag类的使用
- linux find和xargs
- Leetcode每日一题:70.climbing-stairs(爬楼梯)
- python降维可视化 自编码_如何使用自动编码器可视化降维? (Python | TensorFlow)...
- 用fast rcnn绘制loss曲线遇到的问题
- siki暗黑战神项目总结,框架和主要的优化点
- 无法导入 指定文件不是注册脚本 您在注册表编辑器中只能导入二进位注册文件.reg
- 安装Navision Server5.0 注意事项
- 清华大学计算机系本科课程,清华大学计算机系本科生全部课程详细介绍
- 基于易班开放平台接入研究与探索
- 服务器系统 Windows server 2019 安装与搭建
- 转java通过身份证号码获取出生日期、性别、年龄
- 2021.02.02刷题总结
- 我也就是尝试了一下斗图的快乐
- win10家庭版启用远程桌面
- python 期货现货差价监测_大宗商品现货数据不好拿?商品季节性难跟踪?Python爬虫一键解决没烦恼...
- 关于wish平台收款方式的比较,哪个更好?
- 关于单片机看门狗的浅谈理解
- 苹果和小虫编程c语言,【OJ题库C/C++】Day12-苹果和虫子2
- 海外直连100M跟国内5m服务器,云都网络推出美国高防服务器直连回国带宽100M独享CN2 GIA...
热门文章
- 关于内网打印机的研究-利用PRET对惠普打印机进行渗透
- HTML查看器PC,PE文件查看器(PeViewer)
- RequestDispatcher请求转发方法
- Python压缩解压–gzip
- csr蓝牙驱动Linux,csr harmony蓝牙适配器驱动
- c语言仿宋gb2312字体,仿宋gb2312字体官方下载|仿宋gb2312字体下载官方版 - 维维软件园...
- 机器人编程软件semia_少儿机器人编程与软件编程区别
- Movist Pro for mac(mac高清视频播放器)
- 7、Lctech Pi(F1C200S)开启RNDIS,通过USB与电脑联网(CherryPi,Mangopi,F1C100S)
- 毫无PS痕迹 你的第一本Photoshop书pdf