RJ博客

从PHP接收接收二进制图片,延伸至文本文件和二进制文件异同

从PHP接收接收二进制图片,延伸至文本文件和二进制文件异同
#背景: 以前知道有一种把二进制图片数据直接保存到数据库的做法,不过一直没实际操作 过,直到在对接广告Marketing API传输图片原数据要用到,才去深入地了解了一下。除了用fread(),直接用file_get_contents()也可以获取到二进制数据。 以上是把接收到的二进制图片转换成图片文件保存起来,也可以把二进制数据存入 数据库,mysql数据库中BLOB是一个二进制对象,能容纳不同大小的数据。
2019年06月19日 163 views 1评论

npm+webpack 从0编写一个npm module(转)

npm+webpack 从0编写一个npm module(转)
我们知道,每个项目其实都有很多共同的代码可以复用。复制粘贴这种重复劳动当然每个人都很讨厌,而且还有操作失误的情况。因此,往往,比如常用函数封装、正则、组件等,都可以做成npm module发布到npm上,方便所有的项目使用。
2019年06月10日 164 views 1评论

Redis内存分析(大key排查)

Redis内存分析(大key排查)
背景 线上Redis遇到一个问题,就是内存无限缓慢增长,2个G的内存几个小时就快被吃完了,因此需要查看Redis实例中数据的内存分布情况。为了不影响线上实例的使用,采用bgsave生成dump.rdb文件,再结合redis-rdb-tools进行静态分析。
2019年02月10日 225 views 1评论

python动态页面爬虫(二) - Selenium+Chrome

python动态页面爬虫(二) - Selenium+Chrome
最近在使用Selenium+PhantomJS动态抓取网页时,发现了Selenium已经放弃PhantomJS的警告,具体警告内容如下: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprec
2019年02月01日 272 views 1评论

Mysql 慢查询 全表扫描 文本索引排查方案

Mysql 慢查询 全表扫描 文本索引排查方案
最近在做MySQL的全表扫描、慢查询、文本索引优化,需要抓取到线上执行的sql进行判断,由于项目代码过多,直接从代码排查难度有点大,于是借助了MySQL命令 查看哪些线程正在运行(只能抓取正在运行的语句) show processlist; SHOW PROCESSLIST显示哪些线程正在运行,如果您有SUPER权限,您可以看到所有线程,否则,您只能看到您自己的线程。
2019年01月10日 218 views 1评论

PHP-FPM内存优化

PHP-FPM内存优化
服务器运行一段时间后,发现内存占用不断增长,通过top命名(输入命名后按m键可按进程占用内存大小的排序)查看,发现大部分内存都被 php-fpm 占用,网上查了一下,大概的意思是说,处理每个php请求完成后,php-fpm会回收内存,但不会释放给操作系统,从而导致大量的内存被php-fpm占用。 实测的话如果页面能正常执行完,内存是能释放的,而页面因内存超限而报错的时候,内存是没有释放给操作系统的。
2018年10月01日 205 views 1评论

PHP的内存泄露问题与垃圾回收

PHP的内存泄露问题与垃圾回收
你写了一个php脚本,一般都不用考虑内存泄露和垃圾回收的问题,因为一般情况下你的脚本很快就执行完退出了。 但在一些运行时间长,数据量大的时候,程序运行一段时间后,php脚本就占用了过多内存,然后就报错(PHP Fatal error: Allowed memory size of 134217728 bytes exhausted)退出了。一般来说,每个页面处理结束,新建的simple_html_dom对象就应该被销毁了——但是实际上没有,很明显,内存泄露发生了。
2018年08月21日 276 views 1评论

Redis迁移记录

Redis迁移记录
由于业务需要,要把业务迁移到另一家服务商,其中涉及到: 服务器代码迁移 MySQL迁移 Redis迁移 其中服务器代码和MySQL就不说了,主要说一下Redis的迁移。 目前有3种方案供选择: 1) 第三方工具redis-dump、redis-load实现 2) 通过aof机制导入导出,需要开启aof功能 3) 通过rdb存储机制迁移数据,此方法最为简单,直接dump $key、restore $key即可。
2018年05月10日 185 views 1评论