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的有序集合实现大文件去重相关推荐

  1. 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个小文 ...

  2. python数据库去重_python redis连接 有序集合去重的代码

    python redis连接 有序集合去重的代码如下所述: # -*- coding: utf-8 -*- import redis from constant import redis_ip, re ...

  3. emui华为java2p_大文件包来了!两款华为手机依然在更新,EMUI两大功能很实用

    原标题:大文件包来了!两款华为手机依然在更新,EMUI两大功能很实用 当硬件遇到瓶颈的时候,很多厂商开始回调,作为手机重要的一环系统体验尤为关键.2020年都在拼旗舰配置.强悍拍照.5G覆盖,但普通用 ...

  4. 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作

    文章目录 前言 一.实验目的 二.实验平台 三.实验内容和要求 3.1.HDFS 目录操作 3.1.1.创建用户目录 3.1.2.显示 HDFS 中与当前用户对应的目录内容 3.1.3.列出 HDFS ...

  5. HTML加js实现计算文件哈希值,HTML5 File API 配合 Web Worker 计算大文件 SHA3 Hash 值

    这学期的安全学课程有个作业,内容是写一个软件实现 SHA3 Hash 值的快速计算.想一想老师这么安排,大致上也有一种推广新的密码学算法的意图.既然希望应用起来,天然跨平台的 Web 显然是一项非常具 ...

  6. C++ minizip的简单使用,zip文件的创建、读取、修改、密码压缩、4G以上大文件压缩。

    兄弟姐妹们好,深夜党又来记录枯燥的编程生活了.今天给大家带来的是minizip库,一个解压和压缩文件的开源代码库,如题目所示的结构来介绍.你可以在下面的链接搜索到minizip库: http://ww ...

  7. Python基础day06【匿名函数lambda、列表生成式、集合set、文件读写】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员]   目录 1.复习 2.递归函数[理解] 2.1.递归求阶乘 3.匿名函数 3.1.匿名函数的4种 ...

  8. python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...

    [问题] 有一个比较长的python脚本文件,其中关于log日志输出,用的是logging,对应初始化代码为:logging.basicConfig( level = logging.DEBUG, f ...

  9. Office文件的奥秘——.NET平台下不借助Office实现Word、Powerpoint等文件的解析(一)...

    [题外话] 这是2010年参加比赛时候做的研究,当时为了实现对Word.Excel.PowerPoint文件文字内容的抽取研究了很久,由于Java有POI库,可以轻松的抽取各种Office文档,而.N ...

  10. linux 文件怎么不让删,请问如何设置权限,可以禁止用户删除文件

    原帖由 WHITLACK 于 2009-9-28 08:48 发表 针对某个文件,如何设置权限,可以禁止删除? 文件权限的r-w-x好像不能禁止删除的啊, 谢谢指教! 1:使用粘滞位可以做到,下面是介 ...

最新文章

  1. QT的QDrag类的使用
  2. linux find和xargs
  3. Leetcode每日一题:70.climbing-stairs(爬楼梯)
  4. python降维可视化 自编码_如何使用自动编码器可视化降维? (Python | TensorFlow)...
  5. 用fast rcnn绘制loss曲线遇到的问题
  6. siki暗黑战神项目总结,框架和主要的优化点
  7. 无法导入 指定文件不是注册脚本 您在注册表编辑器中只能导入二进位注册文件.reg
  8. 安装Navision Server5.0 注意事项
  9. 清华大学计算机系本科课程,清华大学计算机系本科生全部课程详细介绍
  10. 基于易班开放平台接入研究与探索
  11. 服务器系统 Windows server 2019 安装与搭建
  12. 转java通过身份证号码获取出生日期、性别、年龄
  13. 2021.02.02刷题总结
  14. 我也就是尝试了一下斗图的快乐
  15. win10家庭版启用远程桌面
  16. python 期货现货差价监测_大宗商品现货数据不好拿?商品季节性难跟踪?Python爬虫一键解决没烦恼...
  17. 关于wish平台收款方式的比较,哪个更好?
  18. 关于单片机看门狗的浅谈理解
  19. 苹果和小虫编程c语言,【OJ题库C/C++】Day12-苹果和虫子2
  20. 海外直连100M跟国内5m服务器,云都网络推出美国高防服务器直连回国带宽100M独享CN2 GIA...

热门文章

  1. 关于内网打印机的研究-利用PRET对惠普打印机进行渗透
  2. HTML查看器PC,PE文件查看器(PeViewer)
  3. RequestDispatcher请求转发方法
  4. Python压缩解压–gzip
  5. csr蓝牙驱动Linux,csr harmony蓝牙适配器驱动
  6. c语言仿宋gb2312字体,仿宋gb2312字体官方下载|仿宋gb2312字体下载官方版 - 维维软件园...
  7. 机器人编程软件semia_少儿机器人编程与软件编程区别
  8. Movist Pro for mac(mac高清视频播放器)
  9. 7、Lctech Pi(F1C200S)开启RNDIS,通过USB与电脑联网(CherryPi,Mangopi,F1C100S)
  10. 毫无PS痕迹 你的第一本Photoshop书pdf