吃到老,活到老
使用Swoole提升Laravel的性能 使用Swoole提升Laravel的性能
优化 Laravel 网站打开速度 关闭 debug打开.env 文件,把 debug 设置为 false. barryvdh/laravel-debugbar等开发环境使用的包一定要放在require-dev,线上就不要载入了,就算载入也
2019-05-14
Swoole 协程 Swoole 协程
Swoole 协程协程可以理解为纯用户态的线程,其通过协作而不是抢占来进行切换。相对于进程或者线程,协程所有的操作都可以在用户态完成,创建和切换的消耗更低。协程主要用于优化IO操作频繁的任务,当然这个IO需要使用异步IO,能够yeild的异
2019-04-29
利用反射机制实现基本的依赖注入 利用反射机制实现基本的依赖注入
ReflectionClass实现了 Reflector 接口,使得我们可以使用该类查看另一个类的相关信息。所谓的反射,大概的意思就是将一个类的相关信息给反射 (映射、反映) 出来,转载。 无依赖的情况要实例化一个类,获得其类名即可,实际项
2019-04-11
Laravel Passport Api 认证 Laravel Passport Api 认证
此文用来梳理如何在Laravel中使用Passport的Personal Access Token 来做Api 用户认证。版本: Laravel:5.8 ,Passport:~7.0 安装#第一步 新建一个Laravel应用,下文例子是在已
2019-03-15
PHP 守护进程 PHP 守护进程
PHP 守护进程守护进程是一种运行在后台的特殊进程,因为它不属于任何一个终端,所以不会收到任何终端发来的任何信号。它与前台进程显著的区别是: 它没有控制终端,不能直接和用户交互,在后台运行; 它不受用户登录和注销的影响,只受开机或关机的影
2019-02-18
PHP多进程 PHP多进程
PHP多进程 pcntl_fork()函数成功执行时会在父进程返回子进程的进程id(pid),因为系统的初始进程init进程的pid为1,后来产生进程的pid都会大于此进程,所以我们可以通过判断pcntl_fork()的返回值大于1来确实当
2019-02-15
RabbitMQ总结 RabbitMQ总结
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件),以下是目前主流开源的MQ基本情况对比 Rabbitmq特性 可靠性:持久化存储、ACK消息确认、发布confirm、事务支持。 灵活的路由:交换
2019-01-25
对ID进行隐藏 对ID进行隐藏
Hashid不希望对外暴露有规则的数据索引,比如用户 ID 、媒体资源 ID 、商品 ID 、订单号、注册码、优惠码等,防止爬虫侵扰。那就将ID编码咯。 解决方案 vinkla/hashids composer 懂的哈可以自己加salt,这
2019-01-11
延迟队列 延迟队列
比如要实现30分钟未支付订单取消,量少的时候可以用数据库轮训的方式,但是数据量大的话,轮训的并发和准确性就不可靠,这个时候可以用延迟队列来解决这个问题 延迟队列的实现 [RabbitMQ] RabbitMQ通过RabbitMQ Delaye
2019-01-01
Redis 分布式锁 Redis 分布式锁
实现一个分布式锁定,我们至少要考虑它能满足一下的这些需求: 互斥,就是要在任何的时刻,同一个锁只能够有一个客户端用户锁定. 不会死锁,就算持有锁的客户端在持有期间崩溃了,但是也不会影响后续的客户端加锁 谁加锁谁解锁,很好理解,加锁和解锁的
2018-12-04
1 / 2