随笔分类 -  PHP

摘要:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 阅读全文
posted @ 2018-11-23 11:11 Kris-Q 阅读(138) 评论(0) 推荐(0)
摘要:<!--done--> 对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了 在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制。 方案一:使用文件锁排它锁 flock函数用于获取文件的锁,这个锁同时只能被一个线程获取到,其它没有获取到 阅读全文
posted @ 2018-11-23 11:09 Kris-Q 阅读(317) 评论(0) 推荐(0)
摘要:<!--done--> 抢购、秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到用缓存来处理抢购,避免直接操作数据库,例如使用Redis。 重点在于第二个问题 常规写法: 查询 阅读全文
posted @ 2018-11-23 11:06 Kris-Q 阅读(298) 评论(0) 推荐(0)
摘要:<!--done--> 由于数据库查询的及插入的操作 耗费的实际时间要耗费比redis 要多, 导致 多人查询时库存有,但是实际插入数据库时却超卖 redis 会有效的减少相关的延时,对于并发量相对较少的 可以一用 1 public function buy($goods_id = 0){ 2 if 阅读全文
posted @ 2018-11-23 11:03 Kris-Q 阅读(5517) 评论(0) 推荐(0)
摘要:<!--done--> 一、使用视图的理由是什么?1.安全性。一般是这样做的:创建一个视图,定义好该视图所操作的数据。之后将用户权限与视图绑定。这样的方式是使用到了一个特性:grant语句可以针对视图进行授予权限。2.查询性能提高。3.有灵活性的功能需求后,需要改动表的结构而导致工作量比较大。那么可 阅读全文
posted @ 2018-11-23 11:00 Kris-Q 阅读(421) 评论(0) 推荐(0)
摘要:<!--done--> 存储过程 什么是存储过程?? 简单来说,存储过程就是为了以后使用而保存的一条或多条SQL语句的集合 . 和我们编程语言中的函数这个概念比较像。 在编程语言中,我们经常要完成某个功能,我们都会将它写成一个函数,然后在需要这个函数的时候调用它就好了。 同样的道理,存储过程也是这样 阅读全文
posted @ 2018-11-23 10:58 Kris-Q 阅读(194) 评论(0) 推荐(0)
摘要:<!--done--> PHP中的魔术方法总结 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __set_state, _ 阅读全文
posted @ 2018-11-23 10:56 Kris-Q 阅读(199) 评论(0) 推荐(0)
摘要:basename(url) 返回路径中的文件名部分。 dirname(url) 返回路径中的目录名称部分。 pathinfo(url) 返回关于文件路径的信息。 basename() 函数返回路径中的文件名部分。 语法 basename(path,suffix) 参数 描述 path 必需。规定要检 阅读全文
posted @ 2018-11-23 10:53 Kris-Q 阅读(481) 评论(0) 推荐(0)
摘要:1.编辑mysql的配置文件my.cnf,这个文件通常在/etc目录下,但我用rpm装mysql的时候这个配置文件是在/usr目录下,但我测试过,无论是放在/etc目录下,还是放在 /usr目录下,都可以生效,不过由于习惯,我还是将my.cnf文件放到/etc目录下vim /etc/my.cnf# 阅读全文
posted @ 2018-11-23 10:46 Kris-Q 阅读(266) 评论(0) 推荐(0)
摘要:<!--done--> 规则 1:绝不要信任外部数据或输入 关于 Web 应用程序安全性,必须认识到的第一件事是不应该信任外部数据。外部数据(outside data) 包括不是由程序员在 PHP 代码中直接输入的任何数据。在采取措施确保安全之前,来自任何其他来源(比如 GET 变量、表单 POST 阅读全文
posted @ 2018-11-23 10:26 Kris-Q 阅读(150) 评论(0) 推荐(0)
摘要:<!--done--> 获得当前周的周一到周日 select subdate(curdate(),date_format(curdate(),'%w')-1)//获取当前日期在本周的周一 select subdate(curdate(),date_format(curdate(),'%w')-7)/ 阅读全文
posted @ 2018-11-23 10:22 Kris-Q 阅读(762) 评论(0) 推荐(0)
摘要:索引类型 mysql索引类型normal,unique,full text的区别是什么? normal:表示普通索引 unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique full textl: 表示 全文搜索的索引。 FULLTEXT 阅读全文
posted @ 2018-11-23 10:18 Kris-Q 阅读(2893) 评论(0) 推荐(1)
摘要:<!--done--> 对于:string, set , sort set , hash 的增,改操作,是同一个命令,但是把它当改操作时,及时成功返回值依旧为0 对于:list结构来说,增删改查自有一套方法。 1 <?php 2 /*1.Connection*/ 3 $redis = new Red 阅读全文
posted @ 2018-11-23 09:35 Kris-Q 阅读(372) 评论(0) 推荐(0)
摘要:PHP内存管理机制 1 var_dump(memory_get_usage()); //获取内存 2 $a = "laruence"; //定义一个变量 3 var_dump(memory_get_usage()); //定义变量之后获取内存 4 unset($a); //删除该变量 5 var_d 阅读全文
posted @ 2018-11-22 17:24 Kris-Q 阅读(207) 评论(0) 推荐(0)
摘要:首先搞清楚php-fpm与cgi的关系 cgi cgi是一个web server与cgi程序(这里可以理解为是php解释器)之间进行数据传输的协议,保证了传递的是标准数据。 php-cgi php-cgi是php解释器,就是上文提到的cgi程序。 Fastcgi Fastcgi是用来提高cgi程序( 阅读全文
posted @ 2018-11-22 17:15 Kris-Q 阅读(536) 评论(0) 推荐(0)
摘要:>>Memcached Memcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcach 阅读全文
posted @ 2018-11-22 16:49 Kris-Q 阅读(156) 评论(0) 推荐(0)
摘要:<!--done--> Fiddler是一个http调试代理,它能 够记录所有的你电脑和互联网之间的http通讯,Fiddler 可以也可以让你检查所有的http通讯,设置断点,以及Fiddle 所有的“进出”的数据(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。 F 阅读全文
posted @ 2018-11-22 16:36 Kris-Q 阅读(161) 评论(0) 推荐(0)
摘要:PHP性能优化利器:生成器 yield理解 如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。 优点 直接讲概念估计你听完还是一头 阅读全文
posted @ 2018-11-22 14:16 Kris-Q 阅读(137) 评论(0) 推荐(0)