- 博客(5)
- 收藏
- 关注
原创 关于redis 缓存击穿雪崩穿透的问题梳理
redis 在提升系统系能中发挥着重要的作用,但也会存在缓存击穿,穿透,雪崩等各种各样的问题,今天我就来梳理各个问题。 一,定义:某个热点key突然过期失效,然后用户的大量请求都打到数据库上,导致数据库压力剧增。 二.击穿的预防思路: 1,热点数据的有效期刷新。比如设置热点数据不过期,或者到期前脚本自动续期。 2,加锁,对某一个数据请求加锁,比如setnx。只允许某一个线程访问数据库。其它没拿到锁的线程sleep 100ms ,然后再拿数据。
2022-06-22 11:52:02
157
原创 多进程curl
我们在实际项目开发中会遇到有大量的接口请求,比如我要读取100张图片,通常的做法就是循环curl 请求,然后需要花费大量的时间,这在项目中是不被允许的,最后我们发现了多进程的curl 大大减少请求时间。 先上代码; 今天我想分享一个多进程curl的使用。 public function createUrl($url, $query){ $query = http...
2018-08-20 09:39:29
907
原创 php处理大数据量数据的思路
大数据量的业务场景:excel 导出百万数据,操作百万数据的数组,从数据库表中取出百万数据。两个解决思路:1.从环境配置上,比如调高php脚本的内存限制。ini_set('memory_limit','');2.从代码层面,比如前两种,都是数据先写到内存后输出,大数据量的情况下,内存非常容易写爆。 解决思路就是分批次处理。excel导出解决方案可以看我之前博文,有相应的代码示例。 操作...
2018-05-11 00:06:06
7946
原创 php 导出几十万数据csv解决方案
最近公司业务需求,需要导出几十万数据。原有的phpexcel 导出显然不能满足这个需求,其一:phpexcel 只能导出不到7晚点数据,其二:很容易导致内存暴增,导致请求报错。然后我在网上看到了这个文章https://blog.youkuaiyun.com/tim_phper/article/details/77581071。 解决的思路就是: 分批输出,不断的刷新缓冲。利用到ob_flush() ...
2018-05-05 22:15:25
3063
原创 MySQL 中sql 语句 优化
参考文章:https://blog.youkuaiyun.com/haifu_xu/article/details/16864933https://blog.youkuaiyun.com/xiaoyao8903/article/details/53256960首先这个问题一直存在,但是在实际开发中还是写出各种性能差sql。今天就一点点的来梳理一下,恰好我目前工作中的sql 写的很慢,这篇文章刚好可以帮我去优化一下...
2018-05-03 23:25:40
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅