摘要:
[原文地址:https://blog.ti node.com/blog...] 干巴巴地叨逼叨了这么久,时候表演真正的技术了! 做个高端点儿的玩意吧,加入我们要做一个任务系统,这个系统可以在后台帮我们完成一大波(注意是一大波)数据的处理,那么我们自然想到,多开几个进程分开处理这些数据,同时我们不能执 阅读全文
摘要:
下载 https://github.com/jonnywang/... 安装使用 配置说明 以redis协议对外提供脏字过滤服务 字典格式以行为单位填写待过滤脏字 命令 用例 测试 支持 QQ群 233415606 原文地址:https://segmentfault.com/a/1190000016 阅读全文
摘要:
由于项目需要,把项目升级到了php7。但是升级了之后发现mongo扩展不能用了。php7.0以上只支持mongodb扩展了。而mongodb扩展的驱动使用起来比monmgo扩展显得很复杂,啰嗦。在网上找了很久。终于找到了一个比较简洁的mongodb类。语法跟mongo的差不多。清晰,自然。 项目地址 阅读全文
摘要:
这里我们主要利用Redis的setnx的命令来处理高并发。 setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回 1。如果当前键存在,那么会返回0。 创建库存表 CREATE TABLE ( int(11) unsigned NOT 阅读全文
摘要:
[原文地址:https://blog.ti node.com/blog...] 要想更好了解socket编程,有一个不可绕过的环节就是IO.在Linux中,一切皆文件.实际上要文件干啥?不就是读写么?所以,这句话本质就是"IO才是王道".用php的fopen打开文件关闭文件读读写写,这叫本地文件IO 阅读全文
摘要:
重大新特性 支持 Redis/PDO/MySQLi 从4.1.0版本开始支持了对PHP原生Redis、PDO、MySQLi协程化的支持。 可使用Swoole\Runtime::enableCorotuine()将普通的同步阻塞Redis、PDO、MySQLi操作变为协程调度的异步非阻塞IO 协程跟踪 阅读全文
摘要:
前面写过利用文件锁来处理高并发的问题的,现在我们说另外一个处理方式,利用Mysql的锁来解决高并发的问题 先看没有利用事务的时候并发的后果 创建库存管理表 CREATE TABLE ( int(11) unsigned NOT NULL AUTO_INCREMENT, int(11) DEFAULT 阅读全文
摘要:
今天在对接一个第三方接口的时候,对方需要AES CBC模式下的加密。这里简单写一个demo 执行test方法 加密结果 øæ׌“j·A" OÈ[ótcÚ‡2Y‰XXÒ¦½™Ép¬p[DâFw`?oàá¹d&x4(çôl£‰¡±Ü‘I¾'ä YÖsÓd°Ý·^$’4höè¶Â÷G 阅读全文
摘要:
利用flock()函数对文件进行加锁(排它锁),实现并发按序进行。 flock(file,lock,block)有三个参数。 file : 已经打开的文件 lock : 锁的类型 LOCK_SH : 共享锁定(读锁) LOCK_EX : 独占锁定(排它锁,写锁) LOCK_UN : 解锁 LOCK_ 阅读全文
摘要:
JWT是什么 JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。基于token的身份验证可以替代传统的cookie+session身份验证方法。JWT由三个部分组成:header.p 阅读全文
摘要:
使用到 redis list llen 命令:获取列表的长度,如果列表key不存在那么也是返回0,如果给的key不是一个列表类型会返回一个错误 lpush命令:将值插入到列表头部,如果 key 不存在,一个空列表会被创建并执行 LPUSH 操作。 当 key 存在但不是列表类型时,返回一个错误。 l 阅读全文
摘要:
工厂模式: 由工厂类根据参数来决定创建出哪一种产品类的实例。工厂类是指包含了一个专门用来创建其他对象的方法的类。所谓按需分配,传入参数进行选择,返回具体的类。工厂模式的最主要作用就是对象创建的封装、简化创建对象操作。 简单的说,就是调用工厂类的一个方法(传入参数)来得到需要的类; 优点 工厂类是整个 阅读全文
摘要:
在项目中,难免会遇到闭包的形式,那么在闭包中,变量的作用域到底是怎么样的呢。下面有几个简单的例子。 e1 以上结果会输出 hello_php 那么可以看到 $a 被作为了变量 通过use传递给了 匿名函数 func 作为参数使用;如果去掉$a = 'java'的注释,那么以上结果会输出 hello_ 阅读全文
摘要:
call_user_func函数类似于一种特别的调用函数的方法,使用方法如下 第一种情况: 此时 第一个参数 set_max 作为call_user_func 的回调函数使用,$a=111,$b=222。 第二种情况 此时第一个参数为一个数组 那么 回调就是 a类里面的b方法,num作为参数传到b方 阅读全文
摘要:
译文首发于 使用 Laravel 5.5+ 更好的来实现 404 响应,转载请注明出处! Laravel 5.5.10 封装了两个有用的路由器方法,可以帮助我们为用户提供更好的 404 页面。现在,当抛出 404 异常时,Laravel 会显示一个漂亮的 404.blade.php 视图文件,你可以 阅读全文
摘要:
支持语言 阿拉伯语代码 ar 英语代码 en 中文(简体)代码 zh CN php中curl类常用方法封装和详解 REST API Method translate POST /language/translate/v2 (Translates input text, returning trans 阅读全文
摘要:
注意:本文为转载,原文链接:Windows下PHP服务nginx不能使用file_get_contents/curl/fopen的原因! 一、问题说明 在Windows环境下搭建了一个本地开发服务环境,使用Nginx做服务,但是在使用file_get_contents()获取本地的链接时http:/ 阅读全文
摘要:
当你在编写完全为 API 服务的 Laravel 应用时,你希望所有响应都是 JSON 格式的,而不是例如说授权错误会重定向到 /home 或 /login,最终重定向会变成 InvalidArgumentException: Route [login] is not defined. 的视图。 下 阅读全文
摘要:
冒泡排序 对数组$arr = [1,7,5,3,3,2]按从小到大进行排序 比较,逻辑大致是这样的。 当i=0的时候进行第一次冒泡 j=0=> 1 7比较,7比1大,不做改变 [1,7,5,3,3,2] j=1=> 7 5比较,5比7小,交换位置 [1,5,7,3,3,2] j=2=&g 阅读全文
摘要:
昨天在本地环境创建了一个文件,文件编码是UTF 8格式,打印一个简单的语句竟然出现了中文乱码,折腾了很久,才找到了原因。 乱码问题 昨天写了一个很简单的php输出中文页面,但是出现了乱码问题,第一反应可能是脚本文件的编码格式有问题,看了下,没有问题,原文件编码为utf 8,那是什么原因呢? 这种问题 阅读全文