php
文章平均质量分 86
hejshan@126.com
这个作者很懒,什么都没留下…
展开
-
php session存储到redis
方法一:修改 php.ini 的设置session.save_handler=redissession.save_path=“tcp:127.0.0.1:6379?auth=password”修改后,重启php-fpm。方法二:通过 ini_set() 函数设置ini_set(“session.save_handler”, “redis”);ini_set(“session.save_...转载 2019-01-01 13:02:09 · 674 阅读 · 0 评论 -
秒杀系统架构分析与实战
1 秒杀业务分析1.正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货2.秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;2 秒杀技术挑战假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有:1.对现...转载 2019-04-01 15:20:20 · 114 阅读 · 0 评论 -
php 浏览器缓存
浏览器缓存动态内容,缓存的内容在浏览器本地,而内容由web服务器生成,任何一方都不可能完成这一系列过程,他们之间有一种沟通机制,这就是缓存协商.如何协商当浏览器向web服务器请求内容时,服务器需要告诉浏览器那些内容可以被缓存,一旦浏览器知道某个内容可以缓存后,下次当浏览器需要请求这个内容时,它便不会直接向服务器请求完整内容,而是询问服务器是否可以使用本地的缓存,服务器在收到浏览器的询问后需要作...原创 2019-04-06 00:19:10 · 1084 阅读 · 0 评论 -
理解 WebSocket 原理
1、前言最近有同学问我有没有做过在线咨询功能。同时,公司也刚好让我接手一个 IM 项目。所以今天抽时间记录一下最近学习的内容。本文主要剖析了 WebSocket 的原理,以及附上一个完整的聊天室实战 Demo (包含前端和后端,代码下载链接在文末)。2、WebSocket 与 HTTPWebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSock...转载 2019-04-01 00:09:37 · 134 阅读 · 0 评论 -
php中流行的rpc框架有哪些?
什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用户自己定义的,要么是php库函数中自带的,也就说在localAdd方法的代码实现在本地,它是一个本地调用!...转载 2019-03-31 23:38:58 · 652 阅读 · 0 评论 -
php反射和laravel依赖注入
什么是依赖注入?耦合性很强的例子:class A { public function __construct() { // A类的内部,依赖了B类 $this->b = new B(); } public function printStrA(){ $this->b->printStrB(); ...原创 2019-04-04 17:56:20 · 381 阅读 · 0 评论 -
php中的Trait
trait自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。Trait 是为类似 PHP 的单继承语言而准备的一种代码复用机制。Trait 为了减少单继承语言的限制,使开发人员能够自由地在不同层次结构内独立的类中复用 method。Trait 和 Class 组合的语义定义了一种减少复杂性的方式,避免传统多继承和 Mixin 类相关典型问题。Trait 和 Cl...原创 2019-04-04 13:36:53 · 157 阅读 · 0 评论 -
php 中的Closure用法详解
Closure,匿名函数,是php5.3的时候引入的,又称为Anonymous functions。字面意思也就是没有定义名字的函数。比如以下代码(文件名是do.php)<?phpfunction A() {return 100;};function B(Closure $callback){return $callback();}$a = B(A());print_r(...转载 2019-04-04 13:20:19 · 350 阅读 · 0 评论 -
获得用户的真实ip HTTP_X_FORWARDED_FOR
工作中经常会有有获得用户真实ip的情况,HTTP_X_FORWARDED_FOR这个函数总是忘记,所以我这里记录下来吧.在PHP 中使用 [“REMOTE_ADDR”] 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问,如果要获取真正的ip就需要使用[‘HTTP_X_FORWARDED_FOR’].if(isset($_SERVER['HTTP_X_FORWARDED_FOR']...原创 2019-03-26 18:20:38 · 20475 阅读 · 0 评论 -
require和include区别
require和include有什么区别?经常有人很问你.require 碰到错误会抛出一个严重的错误并停止往下执行.include 碰到错误继续执行下面的语句.另外一个区别是require类似于预编译,在程序运行前就把代码直接替换进来了,而include类似于函数,在程序运行到那个位置的时候才会执行....原创 2019-03-26 17:54:07 · 198 阅读 · 0 评论 -
session_set_save_handler session存入redis\数据库
redis存储session&amp;amp;amp;lt;?phpclass SessionManager{ private $redis; private $sessionSavePath; private $sessionName; private $sessionExpireTime = 30; public function __construct(){ $this-&amp;amp;amp;gt;re...转载 2019-01-01 13:32:07 · 3080 阅读 · 0 评论 -
php中$GLOBALS和global的区别
$GLOBALS[‘var’]是外部变量的本身.global 是外部变量的一个引用.以下是几个例子://例子1 定义了两个全局变量,$GLOBALS['var2']就是全局变量$var2本身,$GLOBALS['var2']引用指向了全局变量$var1,$var2发生改变,$var1也就发生改变.$var1 = 5;$var2 = 10;function test() { $G...原创 2019-04-02 15:02:39 · 218 阅读 · 0 评论