最近看到pecl上面还有扩展下载次数统计,想着给redis刷一刷下载次数把,本来是想用file_get_contents/curl模拟下载redis的安装包,但是觉得发起http完整请求对pecl官网造成流量压力,我只需要http协议连接上再关闭即可,不需要真正下载,于是有了下面的代码:
/**
* 刷redis_pv
*/
public function redis()
{
//版本列表
$versions = [
'4.5.4',
'4.5.3',
'4.5.2',
'4.4.1',
'4.5.1',
'4.5.0',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.1',
'4.4.8',
'4.4.7',
'4.4.6',
'4.4.5',
'4.4.4',
'4.4.3',
'4.4.2',
'4.3.6',
'4.4.1',
'4.4.0',
'4.3.5',
'4.3.4',
];
$url = 'https://pecl.php.net/get/redis-';
$i = 500;
while ($i--)
{
$version_key = array_rand($versions, 1);
$version_value = $versions[$version_key];
$new_url = $url . $version_value . '.tgz';
fopen($new_url, "r");
echo $new_url . PHP_EOL;
sleep(5);
}
} 上篇文章已经讲解arrayacces的原理,现在来讲解下arrayaccess的实际应用。一个大型的互联网项目中必然会存在各种配置信息,例如多种数据库信息:mysql,tidb,mongodb,redis,某个业务模块单独的配置信息如比例,额度等等,那么该如何治理配置信息?PHP项目中大部分的框架都...
重构框架的时候想要考虑支持下cli模式,于是参考了thinkphp的底层。/** * 获取应用根目录 * @return string */ public static function getRootP...
(1).学习目标: 了解常见信号类型(百度PHP支持的信号类型),(2).相关函数学习: (2.1).pcntl_signal函数用于设置一个信号管理器接收进程信号,参数1:信号类型,参数2:回调函数,用于在接收到参数1类型的信...
有时候我们需要爬一个接口,但是这个接口需要很多参数,包括header和cookie要去编写,使用php curl模拟实在太慢。我们可以通过浏览器的network来复制请求为curl命令。例如我需要模拟请求接口地址:https://www.xkmz.cc/Ajax/Debug/delly,我们只需要在...
概念请参考w3school文章: redis watch ,redis exec (看完基本秒懂)(1)基本事务://连接本地的 Redis 服务 $redis = new Redis(); $redis->con...
众所周知MyISAM引擎不支持事务,但是我只是知道不支持事务,并未测试具体的表现是什么,测试代码如下:try { //开启事务 Db::startTrans(); &...